Skip to content

A SPARQL server tailored to query odML specific RDF based on Apache fuseki

License

Notifications You must be signed in to change notification settings

G-Node/odml-query

Repository files navigation

Docker Automated build

The G-Node odml-query service

odml-query is a SPARQL server based on Apache Fuseki, the service is modified to query odML specific RDF.

For more information on the odML data formats, please check the sections below.

Docker setup

The service is set up to be used with Docker and docker-compose. A running Docker container will map the systems folders to the outside to persist a graph even between container shutdowns.

To this end the service expects a specific folder structure and a shiro.ini file to specify administrative rights. Please refer to the Apache documentation for a full description of Apache Fuseki/Shiro handling.

The service requires the following folder structure and files before the docker container is started; the user and group owners should be in the docker group; find example files in the resources folder.

$ROOT_FOLDER
├── service
|   └── shiro.ini
└── env
    └── docker-compose.yml

Once the service is started locally using docker-compose, the service is available at localhost:4044, the port can be adjusted via the docker-compose.yml entry.

Server customization and custom queries

The server has been customized to to query odML specific RDF. To this end the main, help and query pages have been modified; these changes can be found in the custom directory. When creating the Docker container, these files are copied to replace their original counterparts.

The server features a custom RDF namespace prefix ("odml") and various custom RDF queries that are specific to query odML RDF graphs containing information from DataCite. Prefix and query can be changed in the custom/webapp/js/app/qonsole-config.js file. Once this is done, the docker image needs to be built again.

The odML (Open metaData Markup Language) format

The open metadata Markup Language is a file based format (XML, JSON, YAML) for storing metadata in an organised human- and machine-readable way. odML is an initiative to define and establish an open, flexible, and easy-to-use format to transport metadata.

The source code of the core library is freely available on GitHub and can be installed via the Python package manager pip by typing pip install odml.

More information about the project including related projects as well as tutorials and examples can be found at our odML project page.

The odML specific RDF definitions can be found here.