OntoLogos
A modular Rust ontology reasoner in early development.
Display name: OntoLogos · Crates: ontologos-* · CLI binary: ontologos
v0.2 (today): OWL file parsing and profile detection via ontologos-parser and ontologos-profile, plus the in-memory model (ontologos-core).
Planned: RDFS/RL/EL reasoning (v0.3–v0.5), full CLI workflows, Python bindings (v0.9).
If you need OWL classification today, use Protégé with HermiT or ELK. If you want to embed a Rust ontology graph, load OWL files, or evaluate the architecture, start below.
What works in v0.2
| Feature | Status |
|---|---|
| IRI intern pool, entity registry, axiom store | Available |
OntologyBuilder programmatic construction |
Available |
JSON snapshot v2 (to_json / from_json) |
Available |
| Axiom indexes (subclass, subproperty, equivalence, …) | Available |
OWL file loading (.owl, .rdf, .ttl, .ofn) |
Available |
| Profile detection (EL / RL / QL / DL) | Available |
ontologos profile CLI |
Available |
| RDFS / RL / EL reasoning | v0.3–v0.5 |
classify / materialize / explain CLI |
v0.3–v0.6 (see ROADMAP) |
| Python bindings (full API) | v0.9 |
Install (library)
Requires Rust 1.88+.
From crates.io:
[]
= "0.2.0"
= "0.2.0"
= "0.2.0"
From this repository:
API reference: docs.rs/ontologos-core · parser · profile
Python:
pip install ontologosis an alpha placeholder only — use Rust crates for v0.2 workflows. See crates/ontologos-py/README.md.
Quick start (5 minutes)
Builder + JSON
use ;
Load OWL + detect profile (v0.2)
use load_ontology;
use detect_profile;
let ontology = load_ontology?;
let report = detect_profile?;
Profile classification uses mapped TBox shapes; diagnostics may list constructs seen in the source but not stored in core — see docs/guides/profile-detection.md.
Or run: cargo run -p ontologos-parser --example load_and_profile
Workspace
| Crate | Description | Status |
|---|---|---|
ontologos-core |
Core data model, ontology graph, and reasoner API | v0.2 |
ontologos-parser |
OWL/RDF parsers (horned-owl integration) | v0.2 |
ontologos-profile |
OWL profile detection and diagnostics | v0.2 |
ontologos-rdfs |
RDFS reasoning engine | Stub |
ontologos-rl |
OWL RL forward-chaining rules | Stub |
ontologos-el |
OWL EL classification | Stub |
ontologos-query |
Query interface over classified ontologies | Stub |
ontologos-explain |
Proof graphs and explanation export | Stub |
ontologos-cli |
ontologos command-line tool |
Partial (profile only) |
ontologos-py |
Python bindings via PyO3 | Stub |
ontologos-core, ontologos-parser, and ontologos-profile are published to crates.io in v0.2.0.
CLI
# detected profile: El
classify, materialize, and explain load the ontology then return NotImplemented until their roadmap milestones (materialize v0.3, classify v0.5, explain v0.6) — see ROADMAP.md.
Documentation
| Section | Link |
|---|---|
| Getting started | docs/README.md |
| Guides | Load OWL · Profile detection · Security |
| Reference | Errors · CLI · JSON v2 |
| Project | ROADMAP · CHANGELOG · CONTRIBUTING · FAQ |
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.