SHACL is a W3C standard — the Shapes Constraint Language recommendation, published in 2017. But a specification is prose, and prose can be read two ways. So alongside the spec, the W3C Data Shapes Working Group publishes an official test suite: a set of small, precise test cases, each containing a data graph, a shapes graph, and the exact validation report a conforming implementation must produce.
The Core section of the suite — 98 approved test cases — covers the constraint components every SHACL validator must implement: cardinality (sh:minCount, sh:maxCount), value types (sh:datatype, sh:class, sh:nodeKind), value ranges, string constraints (sh:pattern, sh:minLength), logical combinators (sh:and, sh:or, sh:not, sh:xone), shape-based constraints (sh:node, sh:property), closed shapes, and the targeting mechanisms that decide which nodes get validated.
sh:minCount
sh:maxCount
sh:datatype
sh:class
sh:nodeKind
sh:pattern
sh:minLength
sh:and
sh:or
sh:not
sh:xone
sh:node
sh:property
Any product can say "we support SHACL". The test suite turns that claim into something checkable: either your validator produces the required report for each of the 98 cases, or it does not. There is no partial credit and no interpretation — the expected results are themselves RDF, compared graph-to-graph.
This 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 just run the suite once and quote the result — the full suite is built into the product's own automated tests and runs as a release gate:
uniqueLang-002
sh:uniqueLang
"1"^^xsd:boolean
"true"^^xsd:boolean
A generated conformance report lists every case and its result, so the claim is inspectable case by case: W3C SHACL Conformance Report.
The suite's Core section is deliberately scoped:
RDF Studio's position matches that scope honestly: everything in SHACL Core is supported and gated by the suite; shapes that require JavaScript constraints are refused with a clear message naming the shape, rather than being silently skipped — a skipped constraint looks exactly like a passing one, which is the most dangerous kind of "support".
Every mechanism the suite tests is something you can exercise in RDF Studio today: open the Northwind sample, go to Model ▸ Shapes, and run ⋮ ▸ Validate Data — the report you get back has the exact structure (sh:ValidationReport, sh:result, severities, focus nodes, messages) that the 98 test cases pin down. The guides What is SHACL? and Property Constraints Deep Dive in this tab walk through reading it.
sh:ValidationReport
sh:result