sparq
Back to Capabilities

SPARQL 1.1 / 1.2

The full query language — SELECT, ASK, CONSTRUCT, UPDATE — over the sparq engine.

Live in your tab

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 formsSELECT / ASK / CONSTRUCT / DESCRIBE, returning bindings, a boolean, or a constructed graph.
  • SPARQL UpdateINSERT / DELETE / DELETE…WHERE and graph management, mutating the store in place.
  • Property pathsSequence, alternative, inverse, and the transitive *, +, ? operators.
  • RDF 1.2 triple termsTriple terms in object position, written <<( s p o )>>, with the triple-term functions.
  • Aggregates & subqueriesCOUNT / 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).

Open the live REPLCrate READMESKILL.mdSource on GitHub