An open API service indexing awesome lists of open source software.

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) [![PyPI](https://img.shields.io/pypi/v/pyrudof)](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

  • 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

  • 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

  • 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

  • Talks and Presentations

  • Specifications

  • 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