Skip to content

Updated list of implementations

Vladimir Alexiev edited this page Apr 22, 2021 · 15 revisions

Table of Contents

Intro

Here is an up to date list of ShEx/SHACL implementations. It was started in the book Validating RDF:

It is now updated at https://github.com/validatingrdf/validatingrdf.github.io/wiki/Updated-list-of-implementations

ShEx

name ver/date language playground source/distribution Uses/dependencies. Applied to Contact
shex.js js http://rawgit.com/shexSpec/shex.js/master/doc/shex-simple.html https://github.com/shexSpec/shex.js/ Javascript/N3.js Eric Prud’hommeaux
ShEx NPM js https://www.npmjs.com/package/shex node.js, shex.js
ShEx-validator js https://github.com/HW-SWeL/ShEx-validator Node.js, NPM, Bower, shex.js @AlasdairGray
Validata js http://hw-swel.github.io/Validata/, https://www.w3.org/2015/03/ShExValidata/ https://github.com/HW-SWeL/Validata ShEx-validator, browserify. HCLS-datasets, DCAT, OpenPhacts, bioschemas @AlasdairGray
ShExJava 1.1a 2018-06-25 java http://shexjava.lille.inria.fr/ https://github.com/iovka/shex-java, https://gforge.inria.fr/projects/shex-impl/ RDF4J, Jena, JSON-LD-Java, OWL API, Clerezza @iovka
RDFShape, ShaclEx scala http://rdfshape.weso.es/, http://shaclex.herokuapp.com/ https://github.com/labra/rdfshape, https://github.com/labra/shaclex Jena, Scala, SBT. FHIR, Wikidata, Schema.org, book examples @labra
PyShEx python https://github.com/hsolbrig/PyShEx @hsolbrig
shex.rb ruby https://github.com/ruby-rdf/shex Ruby/RDF.rb Gregg Kellogg
ShExkell haskell https://github.com/weso/shexkell Sergio Iván Franco

SHACL

name ver/date language playground source/distribution Uses/dependencies. Applied to Contact
SHACL API 1.1.0 2018-04-24 java https://github.com/TopQuadrant/shacl Jena. SHACL Core, SHACL-SPARQL, SHACL-JS, SHACL rules TopQuadrant
Jena SHACL 2019-09-25 java https://github.com/apache/jena/, maven: org.apache.jena:jena-shacl Jena. SHACL Core, SHACL-SPARQL users@jena.apache.org
SHACL rdf4 22 Feb 2018 java https://github.com/eclipse/rdf4j-storage Google Summer of Code 2017 @hmottestad
SHACL batch java https://github.com/PaulZH/shacl-batch-validator SHACL API, Jena, Spring Boot. Output reports are turtle or html @PaulZH
dotnetrdf dotNet http://langsamu.net/shacl/ https://github.com/dotnetrdf/dotnetrdf dotNet, SHACL Core, SHACL-SPARQL @langSamu
ELI-validator java http://publications.europa.eu/eli-validator/home, http://labs.sparna.fr/eli-validator/ SHACL API, Jena, Semargl RDFa parser. European Legislation Identifier (ELI) @tfrancart
OSLO Validator java https://data.vlaanderen.be/shacl-validator/ https://github.com/pwc-technology-be/OSLO2Validator, https://github.com/Informatievlaanderen/OSLO-Validator SHACL API, Jena, Semargl @EmidioStani, @carmenvandeloo
shacl-runner scala https://github.com/balhoff/shacl-runner SHACL API, Jena. OBO ontologies @balhoff
STTL SHACL java http://corese.inria.fr/ http://ns.inria.fr/sparql-template Java, STTL Olivier Corby
Netage SHACL java Jena Nicky van Oorschot
SHACL JS js http://shacl.org/playground/ https://github.com/TopQuadrant/shacl-js TopQuadrant
SHACL-Check js https://github.com/linkeddata/shacl-check a prototype Tim Berners-Lee
RDFShape, ShaclEx scala http://rdfshape.weso.es/, http://shaclex.herokuapp.com/ https://github.com/labra/rdfshape, https://github.com/labra/shaclex Jena, Scala, SBT. FHIR, Wikidata, Schema.org, book examples @labra
pySHACL 14-Sep-2018 python https://github.com/CSIRO-enviro-informatics/pyshacl-webservice https://github.com/RDFLib/pySHACL Passes all core constraint tests. SPARQL-based tests due for completion in 1w Nicholas Car
RDFUnit java https://github.com/AKSW/RDFUnit/ SHACL-Core, SHACL-SPARQL, OWL, OSLC, DC DSP AKSW
TrucHLe scala https://github.com/TrucHLe/SHACL
alt SHACL python https://github.com/pfps/shacl Alternative implementation Peter F. Patel-Schneider

Shapes

Finding shapes:

Specific shapes

Shape Conversion

ShEx: the core can convert between readable/compact (ShExC), JSON (ShExJ), RDF (ShExR)

SHACL:

Shape Editors, Visualizations

You also should know about:

Declarative UIs

Data viewers/Editors based on shapes: