The Report Downloader
- Last Updated: May 29, 2026
- 3 minute read
- Semaphore
- Documentation
In Knowledge Model Management (KMM) it is possible to run reports (either one of the reports that comes with the installation or saved ones specific to your model) and download the results as a CSV file.
Publisher has the ability to run the same reports and to save the data as an artefact of the the publish event. The report is actually run on KMM, so this functionality is only available when publishing from KMM using the SPARQL endpoint.
Two example output processor definitions are here presented.
When running the report downloader using the Publisher within the KMM user interface, you should specify the report writer bean as e.g.
<bean parent="AbstractReportDownloader" >
<property name="reportURI" value="semreports:HierarchicalReportWithDetails" />
<property name="reportParameters" >
<map />
</property>
<property name="outputFile" value="${results.directory}\${model.name}\${model.name}.csv" />
</bean>
If running from the command line, specify the report using the bean:
<bean class="com.smartlogic.publisher.reporting.ReportDownloader" >
<property name="reportURI" value="semreports:HierarchicalReportWithDetails" />
<property name="sparqlEndpoint" value="${sparql.endpoint}" />
<property name="reportParameters" >
<map />
</property>
<property name="outputFile" value="C:\temp\output.csv" />
</bean>
So that, within the plugin, we interact directly with the model; using standalone publisher we need to use the SPARQL endpoint to run the report.
Note: When running the report downloader using Publisher Plugin (i.e. from within KMM), if the output file specified is outside the Semaphore Workbench data directory, then this will be amended to be within the results directory for model. You will be able to download the generated report using the “Download results” menu item in the header of the model editing pane.
Download one of the standard reports with one parameter
<bean class="com.smartlogic.publisher.reporting.ReportDownloader" >
<property name="reportURI" value="semreports:HierarchicalReportWithDetails" />
<property name="reportParameters" >
<map>
<entry key="startItem" value="<http://smartlogic.com/conceptScheme#OMITERMO726>" />
</map>
</property>
<property name="outputFile" value="C:\temp\IPSV-Hierarchy.csv" />
</bean>
Note, the definition of the report is via its URI. In this case we use the prefixed form. The report takes one parameter, in this case a URI. Note, this URI needs to be supplied in the form <http://smartlogic.com/conceptScheme#OMITERMO726> to show that it is not in the prefixed form, however, the characters < and > need to be encoded because the Publisher configuration file is XML.
Standard Reports and Parameters
| Report URI | Parameter Name | Parameter Type |
|---|---|---|
| semreports:AlphabeticalListing | includeResourceGuid | xsd:boolean |
| ::: | includeResourceUri | xsd:boolean |
| ::: | includeResourceDisplayName | xsd:boolean |
| ::: | changeDateStart | xsd:datetime |
| ::: | changeDateEnd | xsd:datetime |
| ::: | creationDateStart | xsd:datetime |
| ::: | creationDateEnd | xsd:datetime |
| ::: | lastChangeDateStart | xsd:datetime |
| ::: | lastChangeDateEnd | xsd:datetime |
| ::: | startItem | URI |
| semreports:AlphabeticalListingWithProperties | changeDateStart | xsd:datetime |
| ::: | changeDateEnd | xsd:datetime |
| ::: | creationDateStart | xsd:datetime |
| ::: | creationDateEnd | xsd:datetime |
| ::: | lastChangeDateStart | xsd:datetime |
| ::: | lastChangeDateEnd | xsd:datetime |
| ::: | startItem | URI |
| ::: | includeResourceGuid | xsd:boolean |
| ::: | includeResourceUri | xsd:boolean |
| ::: | includeResourceDisplayName | xsd:boolean |
| ::: | includePropertiesGuid | xsd:boolean |
| ::: | includePropertiesUri | xsd:boolean |
| ::: | includePropertiesDisplayName | xsd:boolean |
| semreports:AssociativeReport | includeResourceGuid | xsd:boolean |
| ::: | includeResourceUri | xsd:boolean |
| ::: | includeResourceDisplayName | xsd:boolean |
| ::: | changeDateStart | xsd:datetime |
| ::: | changeDateEnd | xsd:datetime |
| ::: | creationDateStart | xsd:datetime |
| ::: | creationDateEnd | xsd:datetime |
| ::: | lastChangeDateStart | xsd:datetime |
| ::: | lastChangeDateEnd | xsd:datetime |
| ::: | startItem | URI |
| ::: | includeRelatedResourceGuid | xsd:boolean |
| ::: | includeRelatedResourceUri | xsd:boolean |
| ::: | includeRelatedResourceDisplayName | xsd:boolean |
| semreports:EquivalenceReport | includeResourceGuid | xsd:boolean |
| ::: | includeResourceUri | xsd:boolean |
| ::: | includeResourceDisplayName | xsd:boolean |
| ::: | changeDateStart | xsd:datetime |
| ::: | changeDateEnd | xsd:datetime |
| ::: | creationDateStart | xsd:datetime |
| ::: | creationDateEnd | xsd:datetime |
| ::: | lastChangeDateStart | xsd:datetime |
| ::: | lastChangeDateEnd | xsd:datetime |
| ::: | startItem | URI |
| ::: | includeAlternativeLabelUri | xsd:boolean |
| ::: | includeAlternativeLabelLiteralForm | xsd:boolean |
| semreports:HierarchicalReportWithDetails | includeResourceGuid | xsd:boolean |
| ::: | includeResourceUri | xsd:boolean |
| ::: | includeRelatedResourceGuid | xsd:boolean |
| ::: | includeRelatedResourceUri | xsd:boolean |
| ::: | includeRelatedResourceDisplayName | xsd:boolean |
| ::: | includeAlternativeLabelUri | xsd:boolean |
| ::: | includeAlternativeLabelLiteralForm | xsd:boolean |
| ::: | includeMetadata | xsd:boolean |
| ::: | startItem | URI |
| semreports:HistoryReport | includeResourceGuid | xsd:boolean |
| ::: | includeResourceUri | xsd:boolean |
| ::: | includeResourceDisplayName | xsd:boolean |
| ::: | changeDateStart | xsd:datetime |
| ::: | changeDateEnd | xsd:datetime |
| ::: | startItem | URI |
| semreports:HistoryViewReport | limit | xsd:integer |
| semreports:MetadataReport | includeResourceGuid | xsd:boolean |
| ::: | includeResourceUri | xsd:boolean |
| ::: | includeResourceDisplayName | xsd:boolean |
| ::: | changeDateStart | xsd:datetime |
| ::: | changeDateEnd | xsd:datetime |
| ::: | creationDateStart | xsd:datetime |
| ::: | creationDateEnd | xsd:datetime |
| ::: | lastChangeDateStart | xsd:datetime |
| ::: | lastChangeDateEnd | xsd:datetime |
| ::: | startItem | URI |
| semreports:ModelStatisticsReport | n/a | n/a |
Note: There is a known issue that non-URI parameters to reports are not working in the Publisher Plugin.
Download a saved report with no parameters
<bean class="com.smartlogic.publisher.reporting.ReportDownloader" >
<property name="reportURI" value="<http://example.com/IPSV#SavedReport>" />
<property name="outputFile" value="C:\temp\IPSV-Predicates.csv" />
</bean>
Note, this time we present the URI of the report as the unprefixed < > form, with the < > protected for the XML.