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 a40cf2a1 · 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 3.2×–4558.6× faster than the next-best of pySHACL / Apache Jena SHACL (median 269.6×), 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 | 356.3 | us |
SHACL class_nodekind — sh:class (subclass-closure target) + sh:nodeKind over ub:worksFor, validateshacl_class_nodekind_validate_us | 325.2 | us |
SHACL datatype_range — sh:datatype/sh:pattern over ub:GraduateStudent literals (XSD lexical), validateshacl_datatype_range_validate_us | 13,742 | us |
SHACL node_paths — sh:node + sequence/inverse paths over ub:GraduateStudent (inter-shape recursion), validateshacl_node_paths_validate_us | 6,633 | us |
SHACL sparql_constraint — sh:sparql (SHACL §5.2) routed through sparq-engine, validateshacl_sparql_constraint_validate_us | 699,928 | us |