SPARQL 1.1 / 1.2
The full query language — SELECT, ASK, CONSTRUCT, UPDATE — over the sparq engine.
sparq evaluates SPARQL 1.1/1.2 over an in-memory graph with a worst-case-optimal join engine; the same engine compiled to wasm ships as @jeswr/sparq, so the live REPL runs real queries in your tab with no server round-trip.
What it does
- All four query forms — SELECT / ASK / CONSTRUCT / DESCRIBE, returning bindings, a boolean, or a constructed graph.
- SPARQL Update — INSERT / DELETE / DELETE…WHERE and graph management, mutating the store in place.
- Property paths — Sequence, alternative, inverse, and the transitive *, +, ? operators.
- RDF 1.2 triple terms — Triple terms in object position, written <<( s p o )>>, with the triple-term functions.
- Aggregates & subqueries — COUNT / SUM / AVG / MIN / MAX / GROUP_CONCAT, GROUP BY / HAVING, nested SELECT, plus EXPLAIN / EXPLAIN ANALYZE.
Live in your browser tab — the lean wasm bundle carries the parser, triplestore and SPARQL engine, so queries run against the sample graph with no network round-trip.
Reproduce: cargo test -p sparq-engine
Caveats & limitations
REGEX / REPLACE are compiled out of the lean wasm bundle to keep it small (available in the native build). The query-budget deadline (wall-clock timeout) is native-only — the wasm bundle enforces a row cap instead — and EXPLAIN ANALYZE reports exact per-operator row counts but zero wall-times under wasm32 (no monotonic clock).