You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+28-1Lines changed: 28 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,11 @@ In each case:
51
51
- Activity info
52
52
- Should consist of two badges
53
53
- The latest known stable version badge (from any most common binary repository or GH Releases)
54
-
- The recent repository activity badge
54
+
- The recent repository activity badge (only one of these options):
55
+
- "latest release date" (recommended) from any repository binary or GitHub Releases
56
+
- if there is no published versions, then "last commit date"
57
+
- Should not contain URL links
58
+
- Use HTML `<img/>` badge format, not Markdown image, (e.g. use `<img alt="Latest Version" src="https://img.shields.io/crates/v/rudof-cli" align="top">` not ``)
55
59
- Use `<img align="top">` badge format for better inline alignment
56
60
- Do not use any other badges (build status, dependencies, etc.)
57
61
- Additional emoji can be used to mark commercial 💰 or abandoned ☠️ software
@@ -84,6 +88,29 @@ With a description:
84
88
- [Apache Jena SHACL](https://github.com/apache/jena/tree/main/jena-shacl) <img alt="Maven Central Version" src="https://img.shields.io/maven-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`.
85
89
```
86
90
91
+
### Ignoring some linter's errors
92
+
93
+
Our list [awesome lint](https://github.com/sindresorhus/awesome-lint)
94
+
95
+
In general it is better to comply with linter's rules. But in some cases it is acceptable to bypass it:
96
+
- If you are adding reasonably the same URL link to several list's categories, you'll end up with duplication errors.
97
+
- If you reasonably need more freedom in a description formatting, this will lead to formatting errors.
98
+
99
+
In this cases it is possible to enable/disable some linter's rules for the specific list item (lines) only with ```lint ignore``` (the recommended approach) or enable/disable it globally (not recommended) with ```lint disable``` and ```lint enable```.
100
+
101
+
Just put the rule IDs after the "lint ignore" and separate it with a space from each other.
102
+
103
+
- double-link -- checks list item duplication
104
+
- awesome-list-item -- checks list item formatting
105
+
106
+
Examples
107
+
108
+
```
109
+
<!--lint ignore double-link-->
110
+
<!--lint ignore awesome-list-item-->
111
+
<!--lint ignore awesome-list-item double-link-->
112
+
```
113
+
87
114
## How to add a new category
88
115
89
116
If you are creating a new category, move any relevant projects to that new category, while ensuring
@@ -31,18 +31,19 @@ Software tools or libraries, sorted by programming language.
31
31
-[Apache Jena SHACL](https://github.com/apache/jena/tree/main/jena-shacl) <imgalt="Maven Central Version"src="https://img.shields.io/maven-central/v/org.apache.jena/jena-shacl"align="top"> <imgalt="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`.
32
32
-[RDF4J SHACL Engine](https://github.com/eclipse-rdf4j/rdf4j/tree/main/core/sail/shacl) <imgalt="Maven Central Version"src="https://img.shields.io/maven-central/v/org.eclipse.rdf4j/rdf4j-shacl"align="top"> <imgalt="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`.
33
33
-[TopBraid SHACL API](https://github.com/TopQuadrant/shacl) <imgalt="Maven Central Version"src="https://img.shields.io/maven-central/v/org.topbraid/shacl"align="top"> <imgalt="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`.
34
-
-[EU Interoperability Test Bed (ITB)](https://github.com/ISAITB/shacl-validator) <imgalt="GitHub last commit"src="https://img.shields.io/github/last-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)
35
-
-[Sparna SHACL playground](https://shacl-play.sparna.fr/play/) - Free online suite of tools to work with SHACL; based on TopBraid SHACL API; `Java`
34
+
-[EU Interoperability Test Bed (ITB)](https://github.com/ISAITB/shacl-validator) <imgalt="GitHub last commit"src="https://img.shields.io/github/last-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).
35
+
-[Sparna SHACL playground](https://shacl-play.sparna.fr/play/) - Free online suite of tools to work with SHACL; based on TopBraid SHACL API; `Java`.
36
36
-[SHACL eXtended (SHACL-X)](https://github.com/SHACL-X/shacl-x) - extension of the TopBraid SHACL API <imgalt="GitHub Release"src="https://img.shields.io/github/v/release/SHACL-X/shacl-x"align="top"> <imgalt="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`.
-[rdf-validate-shacl](https://github.com/zazuko/rdf-validate-shacl) <imgalt="NPM Version"src="https://img.shields.io/npm/v/rdf-validate-shacl"align="top"> <imgalt="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`.
-[shacl-engine](https://github.com/rdf-ext/shacl-engine) <imgalt="NPM Version"src="https://img.shields.io/npm/v/shacl-engine"align="top"> <imgalt="GitHub last commit"src="https://img.shields.io/github/last-commit/rdf-ext/shacl-engine"align="top"> - Supports SHACL Core, SHACL-SPARQL; A fast engine for data provided as [RDF/JS](http://rdf.js.org/data-model-spec/) objects; `MIT` license; `JavaScript`.
-[rdf-ext-cli](https://github.com/rdf-ext/rdf-ext-cli) - Command line tool for validation. Data and shapes can be given as file, URL, or SPARQL endpoint + query.
44
44
-[SHACL for Ruby](https://github.com/ruby-rdf/shacl) <imgalt="Gem Version"src="https://img.shields.io/gem/v/shacl"align="top"> <imgalt="GitHub last commit"src="https://img.shields.io/github/last-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`.
45
-
-[maplib](https://github.com/DataTreehouse/maplib) <imgsrc="https://img.shields.io/github/v/tag/DataTreehouse/maplib"align="top"> <imgsrc="https://img.shields.io/github/last-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")` 💰
45
+
-[maplib](https://github.com/DataTreehouse/maplib) <imgsrc="https://img.shields.io/github/v/tag/DataTreehouse/maplib"align="top"> <imgsrc="https://img.shields.io/github/last-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")` 💰.
46
+
<!--lint ignore double-link-->
46
47
-[rudof](https://github.com/rudof-project/rudof) <imgalt="Latest Version"src="https://img.shields.io/crates/v/rudof-cli"align="top"> <imgalt="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).
47
48
-[pySHACL](https://github.com/rdflib/pyshacl) <imgalt="Release Date"src="https://img.shields.io/github/release-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`.
48
49
-[xpshacl](https://github.com/gcpdev/xpshacl) <imgalt="GitHub last commit"src="https://img.shields.io/github/last-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`
@@ -54,18 +55,19 @@ Software tools or libraries, sorted by programming language.
54
55
-[Apache Jena ShEx](https://github.com/apache/jena/tree/main/jena-shex) <imgalt="Maven Central Version"src="https://img.shields.io/maven-central/v/org.apache.jena/jena-shex"align="top"> <imgalt="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`.
55
56
-[shexSpec/shex.js](https://github.com/shexjs/shex.js) <imgalt="NPM Version"src="https://img.shields.io/npm/v/shex"align="top"> <imgalt="GitHub last commit"src="https://img.shields.io/github/last-commit/shexjs/shex.js"align="top"> - JavaScript implementation of Shape Expressions; `MIT` license; `JavaScript`.
-[ShEx-validator](https://github.com/HW-SWeL/ShEx-validator) <imgalt="GitHub last commit"src="https://img.shields.io/github/last-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)
58
+
-[ShEx-validator](https://github.com/HW-SWeL/ShEx-validator) <imgalt="GitHub last commit"src="https://img.shields.io/github/last-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).
58
59
-[Validata](https://github.com/HW-SWeL/Validata) <imgalt="GitHub last commit"src="https://img.shields.io/github/last-commit/HW-SWeL/Validata"align="top"> ☠️ - Web-based UI to validate RDF against ShEx schemas; `MIT` license; `JavaScript`.
-[rudof](https://github.com/rudof-project/rudof) <imgalt="Latest Version"src="https://img.shields.io/crates/v/rudof-cli"align="top"> <imgalt="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/shex.html).
62
64
63
65
## Shape Discovery Tools and Collections
64
66
65
67
-[RDFminer](https://github.com/Wimmics/RDFminer) - Discover SHACL shapes representative of an RDF data graph, by Wimmics; `CECILL-C` license; `Java`.
66
68
-[SHACL Discovery Service](https://github.com/AKSW/discover-shacl-shapes) - Discovery service for SHACL shapes/shape groups; `MIT` license; `PHP`.
67
69
-[Shapes of You index](https://index.semanticscience.org/) - SPARQL queries, OWL/SKOS vocabularies, SHACL/ShEx shapes, indexed from public `git` repositories; `MIT` license; `Typescript`, `Python`.
68
-
-[SHACL Play! Catalog](https://shacl-play.sparna.fr/play/shapes-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).
70
+
-[SHACL Play! Catalog](https://shacl-play.sparna.fr/play/shapes-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).
69
71
-[schema.org Shapes](http://datashapes.org/schema) - Schema.org, converted to SHACL by TopQuadrant.
70
72
-[Europarl Shapes](https://data.europarl.europa.eu/en/developer-corner) - Application profiles for European Parliament & all related dataset-specific profiles.
71
73
@@ -76,15 +78,16 @@ Also see [Polyglot Modeling](https://github.com/json-ld/yaml-ld/issues/19) tools
76
78
-[ShacShifter](https://github.com/AKSW/ShacShifter) <imgalt="GitHub last commit"src="https://img.shields.io/github/last-commit/AKSW/ShacShifter"align="top"> ☠️ - Shape shifter from SHACL to other formats (currently RDForms); `GPL-3.0` license; `Python`.
77
79
-[SHACL To JSON Schema](https://github.com/comake/shacl-to-json-schema) <imgalt="NPM Version"src="https://img.shields.io/npm/v/@comake/shacl-to-json-schema"align="top"> <imgalt="GitHub last commit"src="https://img.shields.io/github/last-commit/comake/shacl-to-json-schema"align="top"> - SHACL-to-JSON-Schema translator; `Typescript`.
78
80
-[shapiro](https://github.com/mathiasrichter/shapiro) <imgalt="GitHub last commit"src="https://img.shields.io/github/last-commit/mathiasrichter/shapiro"align="top"> - SHACL to JSON-Schema, HTML.
81
+
<!--lint ignore double-link-->
79
82
-[rudof](https://github.com/rudof-project/rudof) <imgalt="Latest Version"src="https://img.shields.io/crates/v/rudof-cli"align="top"> <imgalt="Release Date"src="https://img.shields.io/github/release-date/rudof-project/rudof"align="top"> - Converts between different RDF Data modeling technologies: SHACL, SHEX, [DCTAP](https://github.com/dcmi/dctap), UML diagrams, HTML documentation. [docs](https://rudof-project.github.io/rudof/cli_usage/convert.html).
-[elevont/owl2shacl](https://github.com/elevont/owl2shacl) - A CLI tool that tries to convert simple OWL ontologies into SHACL shapes; `AGPL-3.0` license; `rust`.
84
-
-[LinkML](https://linkml.io/linkml/) ([Github](https://github.com/linkml/linkml) and [more repos](https://github.com/orgs/linkml/repositories)) <imgalt="GitHub last commit"src="https://img.shields.io/github/last-commit/linkml/linkml"align="top"> <imgalt="GitHub Release Date"src="https://img.shields.io/github/release-date/linkml/linkml"align="top">[](https://pypi.python.org/pypi/linkml) - 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`.
87
+
-[LinkML](https://linkml.io/linkml/) ([GitHub](https://github.com/linkml/linkml) and [more repos](https://github.com/orgs/linkml/repositories)) <imgalt="PyPI - Version"src="https://img.shields.io/pypi/v/linkml"align="top"> <imgalt="GitHub Release Date"src="https://img.shields.io/github/release-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`.
85
88
- TNO [Semantic Treehouse](https://www.semantic-treehouse.nl/) - 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.
-[Ontotext SOML](https://platform.ontotext.com/semantic-objects/soml/) - input is YAML, output is GraphQL schema with querying and mutations, SHACL shapes for validation. Commercial, closed-source 💰.
90
+
-[Ontotext SOML](https://platform.ontotext.com/semantic-objects/soml/) - Input is YAML, output is GraphQL schema with querying and mutations, SHACL shapes for validation. Commercial, closed-source 💰.
0 commit comments