-
Notifications
You must be signed in to change notification settings - Fork 2
Updated list of implementations
Vladimir Alexiev edited this page Apr 22, 2021
·
15 revisions
Table of Contents
Here is an up to date list of ShEx/SHACL implementations. It was started in the book Validating RDF:
- shex: http://book.validatingrdf.com/bookHtml010.html#sec63
- shacl: http://book.validatingrdf.com/bookHtml011.html#sec124
It is now updated at https://github.com/validatingrdf/validatingrdf.github.io/wiki/Updated-list-of-implementations
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 |
Finding shapes:
- https://schreckl.inspirito.de/, https://github.com/AKSW/discover-shacl-shapes: SHACL Discovery Service by Konrad Abicht (@k00ni at AKSW)
-
https://github.com/search?q=shacl-shapes: the Discovery service finds Github repos by topic
shacl-shapes
Specific shapes
- https://github.com/w3c/data-shapes/tree/gh-pages/data-shapes-test-suite/tests, http://w3c.github.io/data-shapes/data-shapes-test-suite/
-
http://datashapes.org/schema: schema.org data (translation of
schema:domain/rangeIncludes
) - https://github.com/AKSW/shacl-shapes: accessible-place, adult-person. Also: accepts contributions by PR
- http://publications.europa.eu/eli-validator/registry: European Legal Identifier
- https://github.com/BlueBrain/nexus-prov: EU FET Flagship project "Human Brain"
- https://github.com/factsmission/dcat-ap-ch-shacl: ECH-0200 standard
- https://github.com/balhoff/obo-qc-shapes, https://github.com/balhoff/shacl-runner/blob/master/shapes.ttl: OBO ontology quality control
- https://github.com/periodo/periodo-validation: PeriodO historic periods
- https://github.com/simonstey/ODRL-SHACL-Shapes: license info
ShEx: the core can convert between readable/compact (ShExC), JSON (ShExJ), RDF (ShExR)
SHACL:
- SHACLC compact syntax:
- spec: https://w3c.github.io/shacl/shacl-compact-syntax/
- tests: https://github.com/w3c/shacl/tree/master/shacl-compact-syntax/tests/
- grammar: https://github.com/w3c/shacl/blob/master/shacl-compact-syntax/SHACLC.g4
- blog: https://www.topquadrant.com/technology/shacl/shacl-compact-syntax-quick-tutorial/
- source: https://github.com/TopQuadrant/shacl/tree/master/src/main/java/org/topbraid/shacl/compact
- command-line: https://gitlab.ontotext.com/yasen.marinov/shaclconvert (ask @VladimirAlexiev if you want to use it)
- issues: https://github.com/TopQuadrant/shacl/issues/91, https://github.com/TopQuadrant/shacl/issues/92, https://github.com/TopQuadrant/shacl/issues/93
- Emacs: https://github.com/VladimirAlexiev/shaclc-mode (with shots comparing it to SHACL)
- https://github.com/AKSW/ShacShifter: "shape shifter" from SHACL to other formats (currently RDForms) by Norman Radtke (@splattater at AKSW)
- http://labs.sparna.fr/skos-play/convert: from Excel files
- https://github.com/Informatievlaanderen/OSLO-SpecificationGenerator, and then https://github.com/Informatievlaanderen/OSLO-Generated
- YASHE (Yet Another ShEx Editor): https://www.weso.es/YASHE/
- UnSHACLed: a student project at UGent.
- Demo: https://dubious-developments.github.io/release-candidate/index.html#/ (http://193.190.127.184:8042/auth/ is broken on signin with Gitlab),
- And http://ecodalo.ilabt.imec.be:8980/#/ (http://dia.test.iminds.be:8901/auth is broken on signin with Gitlab).
- Source: https://github.com/dubious-developments/UnSHACLed, https://github.com/dubious-developments/UnSHACLed-collaboration-server, https://github.com/dubious-developments/UnSHACLed-server
- Demo: https://dubious-developments.github.io/release-candidate/index.html#/ (http://193.190.127.184:8042/auth/ is broken on signin with Gitlab),
- Allotrope: https://gitlab.com/allotrope-open-source/shape-editor
- Includes a SHACLC convertor
- Not quote ready, eg see https://gitlab.com/allotrope-open-source/shape-editor/issues/5
- http://publications.europa.eu/eli-validator/display?shapes=http://datashapes.org/schema: shows shapes as HTML
You also should know about:
- YASGUI SPARQL editor: https://triply.cc/docs/yasgui
- YATE Turtle editor: https://perfectkb.github.io/yate/
- SGE SPARQL-Generate editor: https://sparql-generate.github.io/sparql-generate-editor/
- SPARQL-Generate: https://ci.mines-stetienne.fr/sparql-generate/
- Playground: https://ci.mines-stetienne.fr/sparql-generate/playground.html, which allows YATE+SGE etc to: edit queries, documents, Turtle datasets, and shows results
Data viewers/Editors based on shapes:
- https://github.com/semantifyit/annotation-editor: for schema.org, using SHACL
- http://rdforms.org/#!templateReference.md, https://bitbucket.org/metasolutions/rdforms/ by MetaSolutions: based on its own template definitions, not shapes (ShacShifter can convert to these)
-
https://entryscape.com/: by MetaSolutions, based on RDForms, for editing DCAT descriptions
- Catalog: Manage and publish datasets according to the DCAT-AP standard. Datasets can be public APIs, data dumps, document collections, etc.
- Terms: Create teminologies for reuse according to SKOS standard. Build upon existing terminologies or create new ones. (Is this based on RDForms?)
- Workbench: Collaboratively manage and publish custom entities using Linked Data. Describe and enrich your entities with metadata.
- Registry and harvesting of: DCAT-AP files, CKAN API and INSPIRE sources via the CSVW protocol
- Vitro: https://github.com/vivo-project/Vitro. generic ontology and instance editor. Used in VIVO for science data
- Potentially used in LD4L for library data: https://github.com/ld4l-labs/Vitro.
- VitroLib uses SHACL as form description language: https://wiki.duraspace.org/display/ld4lLABS/The+VitroLib+Metadata+Editor.
- Paper: The SHACL Awakens: A funny thing happened on the way to implementing a metadata application profile in Vitro, VIVO 2018
-
https://github.com/schimatos/schimatos.org: A SHACL-based Web-Form Generator for Knowledge Graph Editing
- demo: http://schimatos.org/
- https://forms.hypermedia.app