Skip to content

๐Ÿš€ Forward edge โ€” SHACL-SPARQL + manifest runner โ€‹

v0.5 adds custom SPARQL-defined constraint components and wires the W3C SHACL manifest runner into CI for full-suite conformance.

This page is forward-looking. The surfaces described here are not yet callable on main.

SHACL-SPARQL โ€” custom constraint components โ€‹

The SHACL standard allows constraints to be defined as embedded SPARQL SELECT or ASK queries:

turtle
ex:UniqueEmailConstraint a sh:ConstraintComponent ;
    sh:parameter [ sh:path sh:property ] ;
    sh:validator [
        a sh:SPARQLAskValidator ;
        sh:ask """
          PREFIX foaf: <http://xmlns.com/foaf/0.1/>
          ASK { ?value foaf:mbox $this . FILTER(?value != $this) }
        """ ] .

v0.5 will let you define and evaluate such constraint components against the same pgrdf.validate UDF.

W3C SHACL manifest runner โ€‹

The reference SHACL test suite ships as a Turtle manifest pointing at hundreds of paired data/shapes/report fixtures. v0.5 wires a runner against this manifest into CI, the way the SPARQL test surface is wired today via tests/w3c-sparql/.

Coverage ramp target: the same โ‰ฅ 30 % โ†’ โ‰ฅ 70 % โ†’ โ‰ฅ 95 % ramp the v0.3 SPARQL conformance suite used.

Tracked at โ€‹

SPEC.pgRDF.LLD.v0.5-FUTURE.md ยง5โ€“ยง6.

Apache-2.0 licensed. Documentation for pgRDF โ€” built with VitePress, served via GitHub Pages.