Skip to content

ADR-0008 — Use Reasoner Adapters Instead of Building a Native Reasoner First

Status

Accepted

Context

Reasoners are complex, and existing OWL reasoners are mature.

Decision

Integrate reasoners through adapters rather than inventing a novel calculus from scratch on day one.

Amendment (ADR-0014, ADR-0015)

v0.6+ adapters are Rust-native only, delegating to OntoLogos (ontologos-el, ontologos-rl, ontologos-dl, etc.). JVM reasoners (ELK, HermiT, Pellet) are explicitly excluded.

Consequences

Positive: - pluggable reasoner profiles (EL / RL / RDFS / DL) - avoids maintaining a monolithic reasoner in OntoIndex — ontoindex-reasoner is a thin facade - Rust adapters ship inside the binary — no external runtime - shared HermiT conformance suite with OntoLogos

Negative: - v1.0 DL quality depends on OntoLogos 1.0.0 publish (REASONER_SPEC.md) - must validate against fixtures rather than delegating to HermiT JVM