sparq
Back to Capabilities

Inference

Forward-chain the RDFS / OWL 2 RL / N3 closure — see what reasoning adds, then ask why.

Live (new wasm)
Live reasoner
Bundle loading…

sparq-reason materializes the deductive closure under RDFS, OWL 2 RL or Notation3 rules and — uniquely — reconstructs a why() derivation proof tree for any entailed triple; the playground above runs it in your tab on the lazily-loaded W-reason wasm bundle.

What it does

  • RDFS & OWL 2 RL closuresubClassOf / subPropertyOf / domain / range plus the RL property & class axioms, forward-chained to fixpoint.
  • Notation3 rules{ … } => { … } rule documents over facts — the Socrates example, run in-tab.
  • Base vs entailed countsDistinct asserted triples, the closure size, and exactly how many triples reasoning added.
  • why() proof treesClick an entailed triple for one derivation: a premises-before-conclusion DAG bottoming out in asserted facts.
  • Entailed-only deltaJust the triples reasoning ADDED — the closure minus the asserted base — not the whole closure.

Live in your browser tab — the reasoner is pure Rust over the engine, compiled to the separate W-reason wasm bundle that the page lazy-loads on first interaction, so nothing is sent to a server.

Reproduce: cargo test -p sparq-reason

Caveats & limitations

This is a forward-chaining materializer sized for the illustrative documents here (tens of triples), not a tableau OWL DL reasoner; the OWL 2 RL profile is the rule-based RL fragment, not full OWL. The N3 mode reasons over the rule document directly, so the why? proof-tree button shows for the RDFS / OWL profiles only. Materialize large graphs server-side via sparq-cli reason.

Crate READMESKILL.mdSource on GitHub