Need help with shacl?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

158 Stars 50 Forks Apache License 2.0 309 Commits 11 Opened issues


SHACL API in Java based on Apache Jena

Services available


Need anything else?

Contributors list


An open source implementation of the W3C Shapes Constraint Language (SHACL) based on Apache Jena.

Contact: Holger Knublauch ([email protected])

Can be used to perform SHACL constraint checking and rule inferencing in any Jena-based Java application. This API also serves as a reference implementation of the SHACL spec.

Coverage: * SHACL Core and SHACL-SPARQL validation * SHACL Advanced Features (Rules etc)

Former Coverage until version 1.4.0 * SHACL Compact Syntax

Former Coverage until version 1.3.2 * SHACL JavaScript Extensions

The TopBraid SHACL API is internally used by the European Commission's generic SHACL-based RDF validator (used to validate RDF content against SHACL shapes) and SHACL shape validator (used to validate SHACL shapes themselves).

The same code is used in the TopBraid products (currently aligned with the TopBraid 7.1 release).

Feedback and questions should become GitHub issues or sent to TopBraid Users mailing list:!forum/topbraid-users Please prefix your messages with [SHACL API]

To get started, look at the class ValidationUtil in the package org.topbraid.shacl.validation. There is also an Example Test Case

Application dependency

Releases are available in the central maven repository:


Command Line Usage

Download the latest release from:

The binary distribution is:*VER*/shacl-*VER*

Two command line utilities are included: validate (performs constraint validation) and infer (performs SHACL rule inferencing).

To use them, set up your environment similar to (note that the SHACL download includes Jena).

For example, on Windows:

SET SHACLROOT=C:\Users\Holger\Desktop\shacl-1.0.0-bin

As another example, for Linux, add to .bashrc these lines:

# for shacl
export SHACLROOT=/home/holger/shacl/shacl-1.0.0-bin/shacl-1.0.0/bin

Both tools take the following parameters, for example:

shaclvalidate.bat -datafile myfile.ttl -shapesfile myshapes.ttl


is optional and falls back to using the data graph as shapes graph.

Currently only Turtle (.ttl) files are supported.

The tools print the validation report or the inferences graph to the output screen.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.