A.k.a. Linked Data Server - Public Data Interface
The server provides APIs to:
- serve RDF resources in different serializations (ttl, jsonld, etc.)
- serve an RDF vocabulary, providing convenient html pages to describe the classes and properties
- run pre-defined SPARQL queries, passing arguments in URL
- augment the SPARQL results with some facet information
The API and routes provided by the server are described in a separate document: API.md.
You can run the server locally with a maven command:
mvn spring-boot:run -Dldspdi.configpath=/my/configfile/dir/ -Dspring.profiles.active=local
See below for an example for an explanation of the configpath argument). This will make the server accessible on
http://localhost:8080
For deployment in a web server environment (Tomcat, Jetty, etc.) you can compile a jar file with:
mvn clean package
and deploy it in your environment.
The configuration of the server must be recorded in a property file named ldspdi.properties
(see next paragraph for its location). A commented template is provided: ldspdi.properties.template, please use it as a documentation and model for the configuration file.
The path of the directory containing ldspdi.properties
must be passed to the server through a system property called ldspdi.configpath
. You can pass this value when starting your server from the command line, here's an example setting it when running locally:
mvn spring-boot:run -Dldspdi.configpath=/my/configfile/dir/ -Dspring.profiles.active=local
Note that the buda-base environment sets the config path to /etc/buda/ldspdi/
, so the only thing you need to do is to copy your configuration file to /etc/buda/ldspdi/ldspdi.properties
.
In order for the SPARQL queries and the ontology synchronize in real time with the git repositories, you can use a webhook mechanism. Typically you can configure github to send a message to /callbacks/github/owl-schema
and /callbacks/github/lds-queries
. This is not necessary for the platform to function, and you can call these webhooks manually (in a daily cron for instance) to get updates.
All the code and API are Copyright (C) 2017 Buddhist Digital Resource Center and are under the Apache 2.0 Public License.