Use URIs as identifiers in downstream systems
- Last Updated: May 13, 2026
- 1 minute read
- Semaphore
- Documentation
From Semaphore 5.2.0, if you want to use the concept URI as its identifier in downstream systems (CS and SES) then you can use the property “useURIasIdentifier” on the model definition in Publisher to effect this.
Note, the model definition is actually in one of the configuration files common to the installation, so if you would like to make this change for all models in your installation, download the publisher resource files from using the Download Resources button behind the “Manage Publisher” menu item. (Because this affects all models across the installation, you will need to be a SemaphoreSuperAdministrator to do this.) Open the imports/ModelDefinition.xml file and add to the semaphoreModel bean, the line:
<property name="useURIAsIdentifier" value="true" />
Save the file back into the zip file, then upload. From this point on, whenever you publish a model, the URI of each concept will be used as its identifier.
If you would like to only update one model, then this can be done in the Publisher configuration file for that model. Replace the line (in the Publisher bean)
<property name="model" ref="SparqlEndpoint" />
with
<property name="model">
<bean parent="SparqlEndpoint">
<property name="useURIAsIdentifier" value="true" />
</bean>
</property>