awesome-semantic-shapes
A curated list of RDF Shape resources
https://github.com/w3c-cg/awesome-semantic-shapes
Last synced: 4 days ago
JSON representation
-
SHACL Validators
- pySHACL - date/rdflib/pyshacl" align="top"> - pySHACL: A Python validator for SHACL. One of the most comprehensive SHACL implementations. Uses [RDFLib](https://github.com/rdflib/rdflib) for working with RDF and [OWL-RL library](https://github.com/rdflib/owl-rl) for OWL2 RL Profile-based expansion of data graphs; `Apache` license; `Python`.
- xpshacl - commit/gcpdev/xpshacl" align="top"> - xpSHACL: Explainable SHACL Validation. Combining rule-based justification trees with retrieval-augmented generation (RAG) and large language models (LLMs) to produce detailed, understandable, multi-language explanations. `MIT` license. `Python`
- Apache Jena SHACL - central/v/org.apache.jena/jena-shacl" align="top"> <img alt="Maven Central Last Update" src="https://img.shields.io/maven-central/last-update/org.apache.jena/jena-shacl" align="top"> - Supports SHACL Core, SHACL-SPARQL; [docs](https://jena.apache.org/documentation/shacl/index.html); `Apache-2.0` license; `Java`.
- RDF4J SHACL Engine - central/v/org.eclipse.rdf4j/rdf4j-shacl" align="top"> <img alt="Maven Central Last Update" src="https://img.shields.io/maven-central/last-update/org.eclipse.rdf4j/rdf4j-shacl" align="top"> - Supports SHACL Core (without some property paths, see [5.0.3 improvements](https://github.com/Sveino/Inst4CIM-KG/issues/95#issuecomment-2437819932)), SHACL-SPARQL, incremental validation; [docs](https://rdf4j.org/documentation/programming/shacl/); `BSD-3-Clause` license; `Java`.
- TopBraid SHACL API - central/v/org.topbraid/shacl" align="top"> <img alt="Maven Central Last Update" src="https://img.shields.io/maven-central/last-update/org.topbraid/shacl" align="top"> - Supports SHACL Core, SHACL-SPARQL, SHACL rules; based on Jena; `Apache-2.0` 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.
- SHACL eXtended (SHACL-X) - extension of the TopBraid SHACL API <img alt="GitHub Release" src="https://img.shields.io/github/v/release/SHACL-X/shacl-x" align="top"> <img alt="GitHub Release Date" src="https://img.shields.io/github/release-date/SHACL-X/shacl-x" align="top"> - Supports what TopBraid SHACL API supports + SHACL JavaScript Extensions (SHACL-JS), SHACL Python Extensions (SHACL-Py); based on Jena; [docs](https://shacl-x.github.io/docs/); `Apache-2.0` license; `Java`.
- shacl-js - commit/TopQuadrant/shacl-js" align="top"> - SHACL API; `Apache` license; `JavaScript`. Recommends migration to `rdf-validate-shacl` ☠️.
- maplib - commit/DataTreehouse/maplib" align="top"> - High-performance RDF knowledge graph construction, SHACL validation and SPARQL-based enrichment. `Apache-2.0` license. `Rust` with `Python` bindings. But SHACL is not open source: [lib/shacl/src/lib.rs](https://github.com/DataTreehouse/maplib/blob/main/lib/shacl/src/lib.rs) says `unimplemented!("Contact Data Treehouse to try")` 💰.
- playground - Browser-based testbed.
- rdf-ext-cli - Command line tool for validation. Data and shapes can be given as file, URL, or SPARQL endpoint + query.
- SHACL for Ruby - commit/ruby-rdf/shacl" align="top"> - A pure-Ruby library for working with the Shape Constraint Language to validate the shape of RDF graphs; `BSD-3-Clause` license; `Ruby`.
- playground - Browser-based testbed.
- rdf-validate-shacl - validate-shacl" align="top"> <img alt="GitHub Release Date" src="https://img.shields.io/github/release-date/zazuko/rdf-validate-shacl" align="top"> - Supports SHACL Core; pure JavaScript validator on top of the [RDFJS](https://rdf.js.org/) stack; `MIT` license; `JavaScript`.
- EU Interoperability Test Bed (ITB) - commit/ISAITB/shacl-validator" align="top"> - Playground based on TopBraid SHACL API, [docs](https://www.itb.ec.europa.eu/docs/guides/latest/validatingRDF/index.html): validate [RDF data](https://www.itb.ec.europa.eu/shacl/any/upload), [SHACL shapes](https://www.itb.ec.europa.eu/shacl/shacl/upload), [DCAT-AP.DE](https://www.itb.ec.europa.eu/shacl/dcat-ap.de/upload).
- rudof - cli.svg)](https://crates.io/crates/rudof-cli) [](https://pypi.org/project/pyrudof/) <img alt="GitHub Release Date" src="https://img.shields.io/github/release-date/rudof-project/rudof" align="top"> is a library that implements ShEx, SHACL, [DCTAP](https://www.dublincore.org/specifications/dctap/), and other technologies in the RDF ecosystem. The library is implemented in [Rust](https://www.rust-lang.org/) and also provides Python bindings.
- rudof - cli" align="top"> <img alt="Release Date" src="https://img.shields.io/github/release-date/rudof-project/rudof" align="top"> - Implements ShEx, SHACL, [DCTAP](https://www.dublincore.org/specifications/dctap/), and other technologies in the RDF ecosystem; library and CLI; `Apache` and `MIT` licenses; `Rust` with `Python` bindings. [docs](https://rudof-project.github.io/rudof/cli_usage/shacl_validate.html).
- Sparna SHACL playground - Free online suite of tools to work with SHACL; based on TopBraid SHACL API; `Java`.
- shacl-engine - engine" align="top"> <img alt="GitHub last commit" src="https://img.shields.io/github/last-commit/rdf-ext/shacl-engine" align="top"> - Supports SHACL Core, SHACL-SPARQL, Experimental [SHACL 1.2](https://www.w3.org/TR/shacl12-core/) support ([shacl-engine experimental](https://github.com/rdf-ext/shacl-engine/tree/experimental)); 15-26x faster than other JavaScript or Python packages ([blog post](https://www.bergnet.org/2023/03/2023/shacl-engine/), [real-world examples](https://github.com/rdf-ext/shacl-engine/issues/12#issuecomment-1940875628)); works on data provided as [RDF/JS](http://rdf.js.org/data-model-spec/) objects; `MIT` license; `JavaScript`.
- Trav-SHACL - date/SDM-TIB/Trav-SHACL" align="top"> <img alt="PyPi" src="https://img.shields.io/pypi/v/TravSHACL" align="top"> ([docs](https://sdm-tib.github.io/Trav-SHACL/)) - SHACL validator capable of planning the traversal and execution of the validation of a shape schema to detect violations early. Efficiently validates networks of SHACL constraints. `GPLv3` license. `Python`
-
ShEx Validators
- shexSpec/shex.js - commit/shexjs/shex.js" align="top"> - JavaScript implementation of Shape Expressions; `MIT` license; `JavaScript`.
- Apache Jena ShEx - central/v/org.apache.jena/jena-shex" align="top"> <img alt="Maven Central Last Update" src="https://img.shields.io/maven-central/last-update/org.apache.jena/jena-shex" align="top"> - Supports ShEx, ShExC; not supported semantic actions, EXTERNAL; [docs](https://jena.apache.org/documentation/shex/); `Apache-2.0` license; `Java`.
- playground - Browser-based testbed.
- ShEx-validator - commit/HW-SWeL/ShEx-validator" align="top"> ☠️ - Standalone Node module with a command line interface; `MIT` license; `JavaScript`. Built on top of [ShExDemo](https://github.com/ericprud/ShExDemo)
- Validata - commit/HW-SWeL/Validata" align="top"> ☠️ - Web-based UI to validate RDF against ShEx schemas; `MIT` license; `JavaScript`.
- playground1 - SWeL)
- playground2
- playground1 - SWeL)
-
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
- schema.org Shapes - Schema.org, converted to SHACL by TopQuadrant.
-
Shape Conversion Tools
- ShacShifter - commit/AKSW/ShacShifter" align="top"> ☠️ - Shape shifter from SHACL to other formats (currently RDForms); `GPL-3.0` license; `Python`.
- SHACL To JSON Schema - to-json-schema" align="top"> <img alt="GitHub last commit" src="https://img.shields.io/github/last-commit/comake/shacl-to-json-schema" align="top"> - SHACL-to-JSON-Schema translator; `Typescript`.
-
Shape Generators
- owl2shacl - OWL-to-SHACL conversion rules.
-
Shape-based Query Generators
- shape-to-query - to-query" align="top"> <img alt="GitHub Release Date" src="https://img.shields.io/github/release-date/hypermedia-app/shape-to-query" align="top"> - Generate SPARQL queries from SHACL Shapes; [docs](https://shape-to-query.hypermedia.app/docs); `MIT` license; `Typescript`.
- playground
- SHACL Play! SPARQL - Generates SPARQL queries to extract RDF subset based on SHACL specification of the target dataset.
-
Shape Editors, Visualizations
- Allotrope Shape Editor - The Shape Editor supports editing of shacl and shaclc files; `Apache-2.0` license; `Java`.
- SHACL Play! Tools - Edit & visualize SHACL; `LGPL-3.0 license` license; `Java`.
- SHACL in Excel - A SHACL editor from Excel.
- SHACL to Documentation - A documentation generator to print an application profile specified in SHACL.
- SHACL to UML Diagrams - A diagram generator to display an application profile specified in SHACL.
-
Declarative UIs
- shaperone - wc" align="top"> <img alt="GitHub Release Date" src="https://img.shields.io/github/release-date/hypermedia-app/shaperone" align="top"> - SHACL Shapes Form generator; [docs](https://forms.hypermedia.app); `MIT` license; `Typescript`.
- playground
- Sparnatural - git/Sparnatural" align="top"> <img alt="GitHub Release Date" src="https://img.shields.io/github/release-date/sparna-git/Sparnatural" align="top"> - Visual knowledge graph explorer with SPARQL, in the browser, configurable with SHACL; [docs](https://docs.sparnatural.eu/index.html#31-shacl-configuration); `LGPL-3.0 license` license; `Typescript`.
- shacl-form - darmstadt/shacl-form" align="top"> <img alt="GitHub Release Date" src="https://img.shields.io/github/release-date/ULB-Darmstadt/shacl-form" align="top"> - HTML5 Web Component SHACL form generator library; [docs](https://ulb-darmstadt.github.io/shacl-form/); `MIT` license; `Typescript`.
- playground
- shacl-forms - forms" align="top"> <img alt="GitHub Release Date" src="https://img.shields.io/github/last-commit/zazuko/shacl-forms" align="top"> - A Web Component SHACL form generator library; `unknown` license; `JavaScript` ☠️.
- form-generator - generator" align="top"> - A Vue SHACL form generator library; `MIT` license; `Typescript`.
- shacl-form - commit/danielbeeke/shacl-form" align="top"> - A custom element SHACL form generator library; [docs](https://shacl-form.mediaworks.global/); `MIT` license; `Typescript`.
- DFDP: Declarative Form Description Pipeline - commit/SolidLabResearch/FormGenerator" align="top">; `MIT` license; `JavaScript`; Integrates with SOLID. [ESWC 2024 Paper]([url](https://smessie.github.io/Article-ESWC2024-DFDP/)).
-
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.
- SHACLC Language Server - language-server)) - A VS Code extension providing language intelligence (diagnostics, hover tooltips, auto-completion, etc.) for CG standard SHACL Compact Syntax via the Language Server Protocol. MIT License.
- RDF and SPARQL - IntelliJ plugin with editor support for ShEx Compact syntax and SHACL validation.
-
Tutorials
- Shapes applications and tools: ISWC'20 Tutorial - Main tutorial.
- neonto Academy - Online academy with interactive programming tasks for SHACL and other semantic web standards
-
Talks and Presentations
- One Ontology, One Data Set, Multiple Shapes with SHACL by Tara Raafat - Connected Data London, 2019.
- The Many Shapes of SHACL by Holger Knublauch - LOTICO Talk, 18 Jun 2020.
- An Overview of SHACL Shapes Constraint Language: Part 2 - TopQuadrant, 2017.
- An Overview of SHACL Shapes Constraint Language - TopQuadrant, 2017.
- SHACL Masterclass by Veronika Heimsbakk - Knowledge Graph Conference 2021, 2022, 2023. Connected Data London, 2024.
-
Specifications
- Shapes Constraint Language (SHACL) - W3C Recommendation, 20 July 2017.
- SHACL Advanced Features - W3C Working Group Note, 08 June 2017.
- SHACL JavaScript Extensions - W3C Working Group Note, 08 June 2017.
- SHACL Test Suite and Implementation Report - W3C Document 01 July 2019.
- SHACL Use Cases and Requirements - W3C Working Group Note 20 July 2017.
- SHACL 1.2 Core
- SHACL 1.2 SPARQL Extensions
- SHACL Advanced Features 1.1
- SHACL Compact Syntax
- SHACL JavaScript Extensions
- The Shape Topologies algorithm
- DASH Data Shapes - Platform-independent extensions of SHACL for common tasks. Stuff that could become an official standard in the future.
- Shape Expressions Language 2.1 - Final Community Group Report, 8 October 2019.
- ShEx Primer - Draft Community Group Report, 7 December 2022.
- ShEx Text Suite - Version `next@1.0.2`, last release 5 October 2018.
- Recommended Practice for Standard for Shape Expression Schemas - IEEE Computer Society P3330/D3, Draft 9 October 2024. Next-version spec with `EXTENDS` keyword.
- ShEx Primer - Primer with `EXTENDS` keyword, Draft Community Group Report 25 May 2022.
- Data Shapes Working Group - Re-chartered from Dec 2024 to Dec 2026 to update the specs. [Join](https://www.w3.org/groups/wg/data-shapes/join)
- SHACL 1.2 Core
- SHACL 1.2 SPARQL Extensions
- ShEx Community Group - [blog](https://www.w3.org/community/shex/) (active 2017-2019), [mlist](https://lists.w3.org/Archives/Public/public-shex/) (2017-2023), [resources/tools](https://www.w3.org/groups/cg/shex/tools/).
-
Shape Discovery Tools and Collections
- SHACL Play! Catalog - To see your shapes listed here, add them in the [Shapes Catalog source file on GitHub](https://github.com/sparna-git/SHACL-Catalog/blob/master/shacl-catalog.ttl).
- Europarl Shapes - Application profiles for European Parliament & all related dataset-specific profiles.
-
Shape Convertors and Generators
- Polyglot Modeling - LD project). Sometimes called **SchemaOps**; the name "schema salad" is used sometimes ;-)
- shapiro - commit/mathiasrichter/shapiro" align="top"> - SHACL to JSON-Schema, HTML.
- SHACL Play! JSON-LD context - git/shacl-play" align="top"> <img alt="GitHub Release Date" src="https://img.shields.io/github/release-date/sparna-git/shacl-play" align="top"> - SHACL-to-JSON-LD context generator; `Java`.
- SHACL Play! Converter - Converts between RDF schema formats. Has OWL-to-SHACL (open, semi-closed, closed).
- elevont/owl2shacl - A CLI tool that tries to convert simple OWL ontologies into SHACL shapes; `AGPL-3.0` license; `rust`.
- LinkML - date/linkml/linkml" align="top"> - Input is YAML; output is [SHACL](https://linkml.io/linkml/generators/shacl.html), [ShEx](https://linkml.io/linkml/generators/shex.html), JSON Schema, JSON-LD context and instances, SPARQL, OWL, GraphQL, Pydantic Python, ProtoBuf, various documentation formats; `Apache` license `Python`.
- Semantic Treehouse - Has [SHACL input](https://www.semantic-treehouse.nl/docs/wizard/shacl-input) and [output](https://www.semantic-treehouse.nl/docs/wizard/shacl-output). Used as a Vocabulary Hub in dataspaces.
- TopQuadrant: OWL Axioms to SHACL Constraints - Commercial, closed-source solution 💰.
- Ontotext SOML - Input is YAML, output is GraphQL schema with querying and mutations, SHACL shapes for validation. Commercial, closed-source 💰.
- sheXer - commit/weso/shexer" align="top"> - Library to extract ShEx/SHACL shapes from RDF data, SPARQL endpoints, or rdflib graphs. It offers iterative parsing and/or sampling to deal with big datasets; `Apache` License; `Python`. See ([publication](https://doi.org/10.1016/j.knosys.2021.107975), [projects using it](https://github.com/weso/shexer/network/dependents?dependents_before=MTUzNjIwMTg0MTA))
-
Books
- SHACL for the Practitioner (2025) - Exploring knowledge graphs through the Shapes Constraint Language.
Programming Languages
Categories
Specifications
21
SHACL Validators
21
Shape Convertors and Generators
10
Declarative UIs
9
ShEx Validators
8
Talks and Presentations
5
Shape Editors, Visualizations
5
IDE support
5
Shape-based Query Generators
3
Shapes Discovery Tools
3
Shape Discovery Tools and Collections
2
Tutorials
2
Shape Conversion Tools
2
Shape Generators
1
Books
1
Shapes Collections
1
Sub Categories
Keywords
shacl
10
rdf
8
validation
4
owl
3
w3c
2
sparql
2
linked-data
2
viewer
2
editor
2
knowledge-graph
1
typescript
1
yasgui
1
constraints
1
validator
1
shacl-rules
1
shacl-shapes
1
form
1
dash
1
turtle
1
semantic-web
1
semantic
1
schema
1
openapi
1
model-as-code
1
json-schema
1
json-ld
1
data-structures
1
data
1
specification
1
shex
1
ieee
1
shacl-play
1
shape
1