Manage dataspaces
Step by step guide to creating a new dataspace backed by SPARQL services
Manage dataspaces
Dataspaces are configured in config/system.trig. TriG RDF syntax is used.
The configuration uses the Application domain ontology. A dataspace is comprised of an end-user application and an administrative application, both of them are backed by each own SPARQL service. Each application can also specify its own XSLT stylesheet.
Application base URIs need to be relative to the system base URI configured in the .env file. A change of system base URI currently requires a change of application base URIs, otherwise they will not be reachable.
Change base URI(s)
Lets say we want to use https://ec2-54-235-229-141.compute-1.amazonaws.com/linkeddatahub/ as the new base URI of our dataspaces. The easiest way is to simple replace occurences of the default https://localhost:4443/ base URI with the new value. It can be done using the following shell command:
sed -i 's/https:\/\/localhost:4443\//https:\/\/ec2-54-235-229-141.compute-1.amazonaws.com\/linkeddatahub\//g' config/system.trig
Note that sed requires to escape forward slashes / with backslashes \.
Create a dataspace
Add instances of lapp:EndUserApplication
, lapp:AdminApplication
and their corresponding sd:Service
s following the default dataspace in config/system.trig.
Use URIs (for example in the urn: scheme) to identify apps and services, not blank nodes. Make sure the file's syntax is valid Turtle, otherwise the setup will not work. You can use Turtle Validator to check the syntax.
Change stylesheet
Change the value of ac:stylesheet
to the URI of your XSLT stylesheet. Add the property if it is absent.
The stylesheet can either be uploaded as a file or mounted in docker-compose.yml, in the volumes section of the linkeddatahub service. Mounting is useful while developing.
You will need to restart LinkedDataHub's Docker service for the new stylesheet to take effect.
It is rarely necessary to change the stylesheet of an admin application.
Manage services
LinkedDataHub service as well as the default SPARQL services fuseki-end-user and fuseki-admin are defined in docker-compose.yml and run as Docker containers.