ITADN

P2: onto_classify_el — OWL-EL reasoner integration (HermiT/ELK over Oxigraph)

#30Openfabio-rovai 创建于 2026-05-28
F
fabio-rovaicommented
## Why Closes the reasoning loop the v0.2 release left open. Synthesises: - **OntoGPT's ROBOT + ELK pipeline** — pipes extraction output through OWL-EL classification to prune and explain. Open Ontologies has SHACL structural validation (`onto_shacl_check` #21) and the IES4 design-pattern enforce pack (#24) but no OWL-EL classification step. - **LLM-Assisted Active Learning for OWL** ([arXiv:2604.16672](https://arxiv.org/abs/2604.16672), Apr 2026) — active-learning loop that asks the LLM only the most informative subsumption queries. Bolts onto an `onto_classify_el` reasoner. - **Large Language Model for OWL Proofs** ([arXiv:2601.12444](https://arxiv.org/abs/2601.12444), Jan 2026) — empirical finding: logical complexity dominates LLM performance on OWL reasoning; format doesn't. Argues for shipping reasoning as a server primitive rather than asking Claude to do EL/SROIQ reasoning. ## Scope New MCP tool `onto_classify_el`: 1. Run OWL 2 EL classification over the loaded ontology 2. Return: unsatisfiable classes (with explanation traces), inferred subsumptions not in the asserted graph, axiom-level provenance for each inference Plus an active-learning companion: `onto_classify_el_query_next` returns the K most-informative subsumption queries (entropy-style) so Claude can confirm/reject in conversation, with verdicts feeding back via `onto_align_feedback` (or a new `onto_classify_feedback` table). ## Implementation cost — honest Non-trivial. Options: 1. **Pure Rust EL reasoner.** [`horned-owl`](https://github.com/phillord/horned-owl) is the only Rust OWL crate of substance but doesn't ship an EL classifier; would need to implement one. 2. **JNI bridge to ELK** (Java). Robust but adds JVM dep — undermines the "no JVM" positioning in the README. 3. **WASM-compiled ELK or a Rust port.** Probably the right long-term answer; significant upfront cost. Suggest scoping option 1 first (Rust-native, with a small EL classification implementation tailored to the BORO/IES4 fragment we actually use) and falling back to option 3 if it doesn't pan out. ## Reference - ELK: https://liveontologies.github.io/elk-reasoner/ - LLM-Assisted Active Learning for OWL: https://arxiv.org/abs/2604.16672 - LLM for OWL Proofs: https://arxiv.org/abs/2601.12444 - horned-owl: https://github.com/phillord/horned-owl ## Priority **P2 — v0.3 reasoning milestone.** High value but the shipping cost is non-trivial. Defer until after `onto_extract_scaffold` + `onto_cq_run` land.
0 条评论