Inference
Forward-chain the RDFS / OWL 2 RL / N3 closure — see what reasoning adds, then ask why.
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 closure — subClassOf / 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 counts — Distinct asserted triples, the closure size, and exactly how many triples reasoning added.
- why() proof trees — Click an entailed triple for one derivation: a premises-before-conclusion DAG bottoming out in asserted facts.
- Entailed-only delta — Just 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.