Updated: 7 Feb 2019
Contact: Jonathan Yu (jonathan.yu [ at ] csiro.au)
SISSVoc is a Linked Data API for accessing published vocabularies. SISSVoc provides a RESTful interface via a set of URI patterns that are aligned with SKOS. These provide a standard web interface for any vocabulary which uses SKOS classes and properties.
SISSVoc provides web pages for human-readable views, and machine-readable resources for client applications (in RDF, JSON, and XML). SISSVoc is implemented using a Linked Data API façade over a SPARQL endpoint. This approach streamlines the configuration of content negotiation, styling, query construction and dispatching.
This repo features resources required to build SISSvoc. The releases section now provides a built .war file distribution which wraps the configuration assets as part of an automated build on release. Download the latest version there.
A docker image is also available for deployment - see https://hub.docker.com/r/csiroenvinf/sissvoc for more details on using docker to deploy SISSvoc.
- automated build via travis
- docker-compose deployment option
- build scripts included
- cleanup of the (xslt) code in resources/default/transform to make local references work
- added build script (gen_sissvoc3_config.py) - allows users to generate a sissvoc elda configuration based on properties file and sissvoc-v3-template. See README in the build dir.
- SISSvoc docker image
Pre-requisite: Docker CE 1.7+
$ docker run -p "8080:8080" csiroenvinf/sissvoc:latest
You can access your SISSVoc service at:
- http://localhost:8080/sissvoc/index.html (landing page)
- http://localhost:8080/sissvoc/default/concept (concept API page)
Drop the latest sissvoc.war file in the releases section into the /webapps dir of your tomcat service.
You can access your SISSVoc service at:
- /sissvoc/index.html (landing page)
- /sissvoc/default/concept (concept API page)
Pre-requisites:
- Python 2
- Maven
- JDK 8
$ wget https://github.com/epimorphics/elda/archive/elda-2.0.0.tar.gz -O elda.tar.gz
$ tar -xvf elda.tar.gz
$ mv elda-elda-2.0.0 elda
$ cd elda
$ mvn clean package
$ cd ..
If you would like to customise the default SISSVoc endpoints to your
triple store where your SKOS vocabularies are chosen, the SISSVoc title,
contact, or API name, edit build/config.properties
.
The build script will generate the sissvoc config and deploy automatically.
$ ./scripts/build.sh
This will output the sissvoc.war
file.
At this point you can deploy this to any Jetty or Apache Tomcat server.
Pre-requisite:
- docker
- docker-compose
If you would like to use docker-compose, you can easily deploy your custom built sissvoc.war...
$ docker-compose -f docker-compose.localsissvoc.yml up -d
You can access your SISSVoc service at:
- http://localhost:8080/sissvoc/index.html (landing page)
- http://localhost:8080/sissvoc/default/concept (concept API page)
If you want to create your own custom SISSvoc config file, the main SISSVoc repo has a build directory with some scripts to help create custom SISSvoc config files. See https://github.com/SISS/SISSVoc/tree/master/build
Create a my-config.properties file based on `config.properties.
Run the following:
$ python2 gen_sissvoc3_config.py --config=my-config.properties my-sissvoc-config.ttl
You can then map in my-sissvoc-config.ttl to the sissvoc container and it will automagically map in the endpoints you specified.
$ docker run -v "my-sissvoc-config.ttl:/usr/local/tomcat/webapps/sissvoc/resources/default/config/default_sissvoc.ttl" csiroenvinf/sissvoc:latest
You can copy my-sissvoc-config.ttl and overwrite the /webapps/sissvoc/resources/default/config/default_sissvoc.ttl file in your Tomcat configuration. Restart tomcat and you should see the result.