Skip to content

OntoLogos Documentation

Native Rust ontology reasoning: load OWL files, detect profiles, run RDFS materialization and OWL RL saturation.

Early development (v0.5)

OntoLogos maps a subset of OWL axioms into its core model — axiom_count() is mapper output, not Protégé's total. CLI classify --profile auto routes to EL or RL; use materialize for explicit RDFS. Full OWL DL classification is not yet available. See Supported constructs.

I want to… Start here
Try it in 5 minutes (no clone) Crates.io quick start
Try it from a clone Getting started index
Evaluate vs ELK / reasonable Comparison
Integrate in Rust Choosing an API
Use Python Python guide
Contribute Contributing

Capability matrix (v0.5)

Capability Library CLI Python
Load OWL files Yes Yes Yes
Profile detection Yes profile No
RDFS materialization Yes materialize / classify --profile rdfs profile="rdfs"
OWL RL saturation Yes classify --profile rl profile="rl"
OWL EL taxonomy Yes classify --profile el profile="el"
Taxonomy queries Yes (ontologos-query) JSON output taxonomy property
Materialization reports Yes Yes (RDFS/RL) Yes
Export saturated ontology Yes (in-process) No No

Learning path

  1. First ontology — builder API walkthrough
  2. Load an OWL file — parser, formats, ParseMeta
  3. RDFS materialization — TBox closure and domain/range
  4. OWL RL saturation — forward-chaining, reports, clashes
  5. OWL EL classification — completion-based taxonomy
  6. Profile detection — EL/RL/QL/DL + hybrid diagnostics
  7. JSON snapshots — load and save ontologies
  8. Error reference — core, parser, profile, engine errors
  9. Roadmap summary — what ships next

Getting started

Document Description
Getting started overview Success paths by persona
first-ontology.md Build a taxonomy with OntologyBuilder
load-owl-file.md Load OWL/RDF files with ontologos-parser
rdfs-materialization.md RDFS TBox materialization
owl-rl-saturation.md OWL RL forward-chaining
json-snapshot-v2.md JSON v2 format, limits, migration

Guides

Document Description
choosing-an-api.md Which crate and entry point to use
profile-detection.md OWL profile detection and diagnostics
python.md Python bindings (pip install ontologos)
glossary.md OWL and OntoLogos terminology
performance.md Limits, parallelism, scaling
production-integration.md Embed in services, untrusted input
protege-axiom-counts.md Why counts differ from Protégé
troubleshooting.md Common problems and fixes
security.md Untrusted JSON and OWL input
comparison.md OntoLogos vs ELK, Konclude, reasonable, whelk-rs

Reference

Document Description
architecture.md Crate graph and data flow
errors.md Error enums (core, parser, profile, engines)
cli.md ontologos command-line tool
supported-constructs.md Mapped vs skipped OWL constructs
rl-rules.md OWL RL rule catalog
conformance.md HermiT-ported test coverage
json-snapshot-v2.md JSON snapshot schema
docs.rs/ontologos-core Rust API (core)
docs.rs/ontologos-parser Rust API (parser)
docs.rs/ontologos-profile Rust API (profile)
docs.rs/ontologos-rdfs Rust API (RDFS engine)
docs.rs/ontologos-rl Rust API (OWL RL engine)
docs.rs/ontologos-el Rust API (OWL EL classifier)
docs.rs/ontologos-query Rust API (taxonomy queries)

Migration

Document Description
v0.1-to-v0.2.md Upgrade guide
v0.2-to-v0.3.md RDFS engine and materialize CLI
v0.3.0-to-v0.3.1.md Patch: classify CLI report
v0.3.x-to-v0.4.0.md ABox, OWL RL, Python profile="rl"
v0.4.x-to-v0.5.0.md OWL EL, CLI profile routing, Python auto/el

Project

Document Description
faq.md Common questions
roadmap-summary.md Release plan overview
changelog.md Release history
contributing.md Development workflow
benchmarks.md Benchmark corpora (maintainers)
security-policy.md Security reporting
code-of-conduct.md Community standards

Maintainer research notes: docs/internal/research/ (not published on Read the Docs).