Documenting issues with SHACL and variations in SHACL output.
/ontologies/: a folder for each ontology referenced in the repo; folder should also contain all of the dependencies for the ontology/scripts/: supplementary tools for interacting with ontologies and other parts of the repo:./scripts/update_ontologies.sh: run this to update the local cache of all ontologies
/testcases/: contains folders, each with a different SHACL validation or inference scenario:- each testcase has 2 files:
data.ttlcontaining data to be run through inference or validation, andshapes.ttlcontaining the SHACL shapes to perform that inference or validation
- each testcase has 2 files:
There are two implementations available:
These are abstracted behind simple Python wrappers in the testshacl package in this repo
Use poetry to run either the pyshacl or topquadrant_shacl script on a testcase directory:
poetry run pyshacl testcases/sh_or_ambiguitypoetry run topquadrant_shacl testcases/sh_or_ambiguity