Generated 2026-10-18 by scripts/shacl-conformance-report.py from a live run of the official W3C SHACL Core test suite. Do not edit by hand; regenerate.
scripts/shacl-conformance-report.py
SHACL is a W3C standard — the Shapes Constraint Language recommendation, published in 2017. A specification is prose, and prose can be read two ways, so alongside it the W3C Data Shapes Working Group publishes an official test suite: each case is a small data graph, a shapes graph, and the exact validation report a correct validator must produce. It is the authority on what SHACL means — and it exercises constructs that no real dataset happens to use, which is precisely why it matters. A validator that agrees with another validator on the databases you tried has been checked on those databases; a validator that passes this suite has been checked on SHACL.
Any product can say "we support SHACL". The suite turns that claim into something checkable: either the validator produces the required report for each of the 98 Core cases, or it does not. There is no partial credit and no interpretation — the expected results are themselves RDF, compared graph to graph. It is the same role the W3C's SPARQL and RDF test suites play for query engines and parsers: conformance is measured, not asserted.
RDF Studio does not run the suite once and quote the result: all 98 approved Core cases are part of its own test run (backend/tests/unit/test_w3c_shacl_gate.py) and act as a release gate — a change to validation that breaks any of them fails the build before it can reach a release. Validation runs inside the database engine (the Rust store), not by copying the data out; a third-party reference implementation is kept only to cross-check reports finding for finding.
backend/tests/unit/test_w3c_shacl_gate.py
RDF Studio's position matches that scope: everything in SHACL Core is supported and gated by the suite; a shape that needs sh:sparql, sh:js or sh:rule is refused with a message naming the shape rather than skipped — a skipped constraint looks exactly like a passing one, which is the most dangerous kind of "support".
sh:sparql
sh:js
sh:rule
RDF Studio's validator passes 98 of 98 cases.
None. Every approved Core case passes.
Every mechanism the suite tests is something you can exercise in RDF Studio today: open the Northwind sample, go to Model ▸ Shapes, and run card ⋮ ▸ Validate Data — the report you get back has the exact structure (sh:ValidationReport, sh:result, severities, focus nodes, messages) that the cases below pin down. The guides What is SHACL? and Property Constraints Deep Dive in this tab walk through reading it.
sh:ValidationReport
sh:result
and-001
and-002
class-001
class-002
class-003
closed-001
closed-002
datatype-001
datatype-002
disjoint-001
equals-001
hasValue-001
in-001
languageIn-001
maxExclusive-001
maxInclusive-001
maxLength-001
minExclusive-001
minInclusive-001
minInclusive-002
minInclusive-003
minLength-001
node-001
nodeKind-001
not-001
not-002
or-001
pattern-001
pattern-002
qualified-001
xone-001
xone-duplicate
datatype-003
datatype-ill-formed
lessThan-001
lessThan-002
lessThanOrEquals-001
maxCount-001
maxCount-002
minCount-001
minCount-002
minExclusive-002
node-002
or-datatypes-001
property-001
qualifiedMinCountDisjoint-001
qualifiedValueShape-001
qualifiedValueShapesDisjoint-001
uniqueLang-001
uniqueLang-002
path-alternative-001
path-complex-001
path-complex-002
path-inverse-001
path-oneOrMore-001
path-sequence-001
path-sequence-002
path-sequence-duplicate-001
path-strange-001
path-strange-002
path-unused-001
path-zeroOrMore-001
path-zeroOrOne-001
multipleTargets-001
targetClass-001
targetClassImplicit-001
targetNode-001
targetObjectsOf-001
targetSubjectsOf-001
targetSubjectsOf-002
personexample
shacl-shacl
deactivated-001
deactivated-002
message-001
severity-001
severity-002
shared
The cases are the W3C Data Shapes Working Group's data-shapes-test-suite, Core section, approved cases only, vendored under backend/tests/validation/w3c-shacl/ under the W3C Software and Document License.
data-shapes-test-suite
backend/tests/validation/w3c-shacl/