Validate RDF data
using Shex in java

ShExJava currently implements ShEx 2.0. It is released under the LGPL-3.0 licence. The source code and instructions for install can be found on GitHub.


Version 1.2.3 has been released! It is avaible on maven and github.


A desktop applications using ShExJava is available. You can download it using this link and access the source here.


ShExJava now uses the Commons RDF API and so support RDF4J, Jena, JSON-LD-Java, OWL API and Apache Clerezza. It can parse ShEx schema in the ShEcC, ShEJ, ShExR formats and can serialize a schema in ShExJ.

To validate data against a ShExSchema using ShExJava, you have two different algorithms:

The algorithms have been published in Semantics and Validation of Shapes Schemas for RDF.

Examples of using the library on small examples can be found on the GitHub page. To play with small example, it's also possible to use the demonstrator that comes with a set of example.


If you have an issue with the implementation, an extension or an optimization that you like to have, some feedback to give or any other question, you can create an issue on GitHub or contact the current maintener.