Skip to content

Comparison with Existing Tools

Honest positioning for evaluators. Read Evaluator scope first — HermiT parity metrics apply to 889 gated conformance cases, not every real-world ontology.

v1.1.4 covers stable EL, RL, RDFS, OWL 2 DL, and DLSafe SWRL on crates.io and PyPI.

OntoLogos passes the in-scope HermiT catalog gate (parity_pct = 100% on 889 cases) and the composite true_parity_pct gate at 100% in blocking CI. Blocking CI runs 450 Java axiom + 428 OWL WG tests @ 30s.

Before production DL cutover, validate on your corpus. See When not to use OntoLogos and Release status.

Maturity matrix

Capability OntoLogos (v1.1.4) ELK HermiT Konclude reasonable whelk-rs Protégé
Load OWL files Yes (partial mapping) Yes Yes Yes Yes Yes Yes
OWL profile detection Yes No No No No No Via plugin
OWL EL classification Yes (in-house) Yes Slow/overkill Yes No Yes Via plugin
OWL RL reasoning Yes (via reasonable) No Partial Partial Yes No Via plugin
RDFS materialization Yes (via reasonable) No Yes Yes Partial No Yes
OWL DL (gated corpora) In-scope + true parity gates green (ontologos-dl; 450+428 @ 30s) No Yes (stagnant) Yes No No Via plugin
OWL DL (PyPI / crates.io) Yes (profile="dl") No Yes (stagnant) Yes No No Via plugin
Embeddable Rust API Yes JVM only JVM only C++/OWLlink Yes Yes Desktop IDE
Unified multi-profile CLI/Python Yes No No No RL only EL only Via plugins
Maintained (2026) Active Active Stagnant Active Active Active Active (editor)
Hybrid EL+DL routing Yes No No Internal No No MORe plugin
Explanations EL-first Yes Yes Partial Limited No Yes
Production-ready (EL/RL/RDFS) Yes (within mapped construct subset) Yes Legacy Yes RL-focused Experimental Yes
Production-ready (OWL DL) Yes on v1.0.0 (validate your corpus) No Yes (stagnant) Yes No No Via plugin

CLI classify --profile auto|el|rl|rdfs|alc|dl|dl-preview|swrl routes via ontologos-facade. Preview profiles: Profile stability matrix. Use materialize for explicit RDFS.

What OntoLogos adds over raw dependencies

You need… Use upstream directly Use OntoLogos
RL materialization only reasonable crate or PyPI Profile routing + core model + CLI
EL classification only ELK or whelk-rs + horned-owl Taxonomy API + query + JSON v3 + explain
Parse OWL safely horned-owl + your limits ontologos-parser with ParseLimits
One CLI for all profiles Multiple tools ontologos classify --profile auto
Python batch pipeline reasonable / py-whelk separately pip install ontologos unified facade

Rust dependencies (not competitors)

Project Role in OntoLogos
horned-owl Parsing (via ontologos-bridge)
reasonable OWL RL and RDFS engine
petgraph Taxonomy and proof-graph algorithms
whelk-rs Ecosystem peer for EL conformance benchmarks only (not a runtime dependency)

OntoLogos targets a maintained orchestration stack with MORe-style hybrid routing (v1.5), not reimplementing RL rule engines.

When to use OntoLogos

  • Embedding an ontology data model in Rust with profile routing
  • Loading OWL files, detecting profiles, and classifying in one workspace
  • CLI or Python batch workflows across EL, RL, and DL
  • JVM-free HermiT replacement on gated corpora
  • Contributing to a unified open-source Rust ontology stack

When to use incumbents directly

See When not to use OntoLogos for the full decision guide. Summary:

  • ELK / whelk-rs: EL-only workflows; maximum EL performance tuning
  • reasonable: RL-only; triple-store or incremental materialization without core model
  • Konclude: maximum DL performance on very large ontologies
  • Protégé + HermiT/ELK: interactive OWL editing
  • owlready2: Python-centric workflows with JVM backends

OntoLogos target (1.0 vs 2.0)

1.0 delivers OWL DL HermiT parity on gated corpora (published v1.1.4 on crates.io/PyPI). 2.0 extends beyond HermiT (Konclude-class performance, breaking API where needed).

Replace JVM-bound batch reasoning in Rust/Python pipelines via stable facade APIs, with CLI, Python, and Ontocode integration.

See Roadmap summary.