Skip to content

Migrating from v0.3.x to v0.4.0

Crates.io

ontologos-core = "0.5.0"
ontologos-parser = "0.5.0"
ontologos-profile = "0.5.0"
ontologos-rdfs = "0.5.0"
ontologos-rl = "0.5.0"   # new

OWL RL reasoning

Use the ontologos-rl crate (not Reasoner::classify on core):

use ontologos_core::{Profile, Reasoner};
use ontologos_rl::classify_reasoner;

let mut reasoner = Reasoner::builder()
    .profile(Profile::Rl)
    .build(ontology)?;

classify_reasoner(&mut reasoner)?;

Or call RlEngine::saturate directly on an Ontology.

ABox axioms

v0.4 adds first-class ABox variants on Axiom and JSON snapshot v2 fields. Existing TBox-only snapshots round-trip unchanged.

Profile detection

Ontologies with mapped ClassAssertion / ObjectPropertyAssertion may now classify as RL instead of DL when no other DL constructs are present (e.g. family corpus).

Python

from ontologos import Reasoner

r = Reasoner("family.owl", profile="rl")
r.classify()