SHACL validator and documentation generator live at https://shacl-play.sparna.fr
With SHACL Play you can:
- validate an RDF dataset against a SHACL specification, and produce a human-readable report (validatecommand)
- generate an HTML documentation of your SHACL application profile (doccommand), or a diagram (draw)
- generate a SHACL from an RDF dataset (generatecommand)
- obtain the statistics of an RDF dataset from a SHACL specification (analyzecommand)
- generate SPARQL queries from a SHACL spec (shacl2sparqlcommand)
and other cool things with SHACL Rules, too, like applying them for inference.
If you use SHACL you may be interested to know that the Sparnatural Knowledge Graph explorer uses a SHACL file for its configuration. Which means you can use the same SHACL file to document your dataset, validate data, and provide a query UI.
The easiest and recommended way to run the application is by using its command-line version. There is no need to locally install the online version. For this:
- Install Java 11
- Download the command-line app from the release section
- Refer to the command-line documentation
The following docker commands should be sufficient to get you started.
First, build the image with:
docker build -t shacl-play:latest ./
Then, start the application on port 8080 with:
docker run -p 8080:8080 shacl-play:latest
Refer to docker documentation for advanced configuration.
Clone this respository:
git clone git@github.com:sparna-git/shacl-play.gitInstall maven and tomcat (it must be the 9th version):
brew install maven tomcat@9Go to the directory where this repository was cloned and build the project as a .war file:
mvn packageCopy the generated package into tomcat's webapp directory:
cp shacl-play/target/shacl-play-0.8.0.war /opt/homebrew/Cellar/tomcat@9/9.0.89/libexec/webappsStart the tomcat server:
 /opt/homebrew/Cellar/tomcat@9/9.0.89/bin/catalina startGo to the default address http://localhost:8080/shacl-play-0.8.0/ to access SHACL.
Don't forget to stop the server once you don't need it anymore!
/opt/homebrew/Cellar/tomcat@9/9.0.89/bin/catalina stopInstall Maven and Tomcat (version 9) using your package manager, here's apt as an example:
sudo apt-get update
sudo apt-get install maven tomcat9Navigate to the directory where the repository was cloned and build the project as a .war file:
mvn packageCopy the generated .war file into Tomcat's webapps directory:
sudo cp target/shacl-play-0.8.0.war /var/lib/tomcat9/webappsStart the Tomcat server to deploy the application:
sudo systemctl start tomcat9Access the SHACL-Play web application by navigating to http://localhost:8080/shacl-play-0.8.0/
Remember to stop the Tomcat server when it's no longer needed:
sudo systemctl stop tomcat9If you're running into issues try to give read and write access to tomcat's SHACL directory, on Mac:
chmod 644 /opt/homebrew/Cellar/tomcat/10.1.24/libexec/webapps/shacl-play-0.8.0.warOr Linux:
sudo chmod 644 /var/lib/tomcat9/webapps/shacl-play-0.8.0.warOr stop and re-start the server.
You can also export tomcat's binary path to your .rc file and add a nickname to it, like tomcat.