SHACL validation
SHACL Core + SHACL-SPARQL validation latency over the LUBM(1) ABox × five hand-authored shape graphs, with same-box pySHACL + Apache Jena baselines.
Latest commit ef8d69fa · every metric smaller-is-better · each group header shows a competitive summary computed live from real same-box competitor numbers (or an honest placeholder where none exist yet).
Across 5 benchmarks in SHACL validation, sparq is 411.7×–10447.2× faster than the next-best of pySHACL / Apache Jena SHACL (median 578×), computed at render time as the per-benchmark ratio of the fastest competitor over sparq. Measured same-box vs pySHACL / Apache Jena SHACL on an ephemeral AWS Graviton box (NON-CANONICAL; for cross-engine ordering); absolute timings across host classes are not directly comparable.
| Benchmark | sparq | Unit |
|---|---|---|
SHACL cardinality — sh:minCount/sh:maxCount over ub:FullProfessor (focus enumeration + path counting), validateshacl_cardinality_validate_us | 152 | us |
SHACL class_nodekind — sh:class (subclass-closure target) + sh:nodeKind over ub:worksFor, validateshacl_class_nodekind_validate_us | 141.9 | us |
SHACL datatype_range — sh:datatype/sh:pattern over ub:GraduateStudent literals (XSD lexical), validateshacl_datatype_range_validate_us | 2,941 | us |
SHACL node_paths — sh:node + sequence/inverse paths over ub:GraduateStudent (inter-shape recursion), validateshacl_node_paths_validate_us | 3,094 | us |
SHACL sparql_constraint — sh:sparql (SHACL §5.2) routed through sparq-engine, validateshacl_sparql_constraint_validate_us | 5,461 | us |