Awesome Semantic Shapes
A curated list of Semantic Shapes resources. Contributions welcome!
Please, read the Contribution Guidelines first.
Semantic shapes enable you to validate RDF graphs against a set of conditions.
Semantic shapes can also be viewed as a description of data graphs that satisfy these conditions.
Such descriptions may be used for a variety of purposes besides validation,
including user interface building, code generation, and data integration.
Semantic shapes are frequently described using the SHACL or ShEx language.
Contents
SHACL Validators
- Apache Jena SHACL - Supports SHACL Core, SHACL-SPARQL; docs;
Apache-2.0
license; Java
.
- RDF4J SHACL Engine - Supports SHACL Core (without some property paths), SHACL-SPARQL, incremental validation; docs;
BSD-3-Clause
license; Java
.
- rdf-validate-shacl - Supports SHACL Core; pure JavaScript validator on top of the RDFJS stack;
MIT
license; JavaScript
.
- SHACL for Ruby - A pure-Ruby library for working with the Shape Constraint Language to validate the shape of RDF graphs;
BSD-3-Clause
license; Ruby
.
- shacl-engine - Supports SHACL Core, SHACL-SPARQL; A fast engine for data provided as RDF/JS objects;
MIT
license; JavaScript
.
- playground - Browser-based testbed.
- rdf-ext-cli - The command line tool provides a validation feature based on shacl-engine. Data and shapes can be given as file, URL, or SPARQL endpoint + query.
- TopBraid SHACL API - Supports SHACL Core, SHACL-SPARQL, SHACL rules; based on Jena;
BSD-3-Clause
license; Java
.
- RDF validator - The EU Interoperability Test Bed (ITB) playground based on TQ API; validate any RDF with SHACL Shapes.
- SHACL shapes validator - The EU Interoperability Test Bed (ITB) playgrounds based on TQ API; validate SHACL Shapes itself.
- Sparna SHACL playground - Free online suite of tools from Sparna to work with SHACL; based on TQ API.
- TopBraid SHACL API Extended - Fork of TopBraid SHACL API + added SHACL-JS based on GraalVM Polyglot; docs;
BSD-3-Clause
license; Java
.
ShEx Validators
- Apache Jena ShEx - Supports ShEx, ShExC; not supported semantic actions, EXTERNAL; docs;
Apache-2.0
license; Java
.
- shexSpec/shex.js - JavaScript implementation of Shape Expressions;
MIT
license; JavaScript
.
- ShEx-validator ☠️ - A standalone Node module with a command line interface;
MIT
license; JavaScript
.
- Validata - An intuitive, standalone web-based tool to help building RDF documents by validating against preset schemas written in the ShEx language;
MIT
license; JavaScript
.
Shapes Discovery Tools
- RDFminer - Web application to automatically discover SHACL shapes representative of an RDF data graph, by Wimmics;
CECILL-C
license; Java
.
- SHACL Discovery Service - Example implementation of a discovery service for SHACL shapes/shape groups;
MIT
license; PHP
.
- Shapes of You index - SPARQL queries, OWL/SKOS vocabularies, SHACL/ShEx shapes, indexed from public
git
repositories; MIT
license; Typescript
, Python
.
Shapes Collections
Shape Conversion Tools
- ShacShifter ☠️ - Shape shifter from SHACL to other formats (currently RDForms);
GPL-3.0
license; Python
.
- SHACL To JSON Schema - TS, SHACL-to-JSON-Schema translator;
Typescript
.
Shape Generators
Shape-based Query Generators
- shape-to-query - Generate SPARQL queries from SHACL Shapes; docs;
MIT
license; Typescript
.
Shape Editors, Visualizations
- Allotrope Shape Editor - The Shape Editor supports editing of shacl and shaclc files;
Apache-2.0
license; Java
.
Declarative UIs
Data viewers/Editors based on shapes.
- shaperone - SHACL Shapes Form generator; docs;
MIT
license; Typescript
.
IDE support
- Linked Data Extension - VS Code Extension for editing RDF files with embedded SHACL validator and SPARQL engine.
- SHACL Language Server - A VS Code extension providing language intelligence (diagnostics, hover tooltips, auto-completion, etc.) for W3C standard SHACL via the Language Server Protocol.
- Mentor RDF for VS Code - Code editing support for RDF, RDFS, OWL, SKOS, SHACL and SPARQL.
Books
Tutorials
Talks
Presentations
Specifications
-
SHACL, W3C Recommendations & Notes
-
SHACL, Community Group Latest Drafts & Notes
-
SHACL-related specifications
-
ShEx
-
ShEx, Drafts
Legend
☠️ — Each one denotes 5 years since last update (e.g., ☠️☠️☠️ denotes 15 years).
💰 — Denotes closed source commercial software.