Manage dataspaces

Step by step guide to creating a new dataspace backed by SPARQL services

Manage dataspaces

Dataspaces are configured using RDF configuration files in TriG syntax:

The configuration uses the Application domain ontology. A dataspace is comprised of an end-user application and an administrative application, both backed by their own SPARQL service. Each application can also specify its own XSLT stylesheet.

See the configuration reference for more details about these files.

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.

Create a dataspace

To create a new dataspace:

  1. Add instances of lapp:EndUserApplication and lapp:AdminApplication to config/dataspaces.trig, following the default dataspace as a template
  2. Add corresponding sd:Service instances to config/system.trig with the SPARQL endpoint connection details

The relationship between end-user and admin applications is automatically inferred based on naming conventions — you don't need to manually specify lapp:endUserApplication or lapp:adminApplication properties. Applications with base URIs containing admin/ are automatically recognized as administration applications.

Use URIs (for example in the urn: scheme) to identify apps and services, not blank nodes. Make sure both files' 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.

While LinkedDataHub uses Apache Jena Fuseki by default, you can configure it to use other SPARQL 1.1-compatible triplestores such as QLever, Tentris, or others.

See the triplestores reference for step-by-step configuration examples, including QLever setup and troubleshooting.