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