Skip to content

Preview profiles (ALC and dl-preview)

Limitations for preview profiles only. Stable profiles (EL, RL, RDFS, dl, SWRL on main) are documented in the Profile stability matrix.

Preview only (alc, dl-preview)

Preview engines may return PreviewLimit or ResourceLimit. For production OWL DL, use --profile dl (stable on v1.0.0). See Profile stability matrix.

Profile summary (preview)

Profile Status Engine Typical output
dl-preview Preview ontologos-dl (gated) Taxonomy + explicit preview checks
alc Preview ontologos-alc Taxonomy (tableau-lite)

Stable dl (same engine, no extra gating): Profile stability matrix.

CLI

# Explicit preview mode (extra gating checks)
ontologos classify --profile dl-preview benchmarks/data/family.owl

# ALC tableau-lite
ontologos classify --profile alc ontology.owl

For stable DL on v1.0.0:

ontologos classify --profile dl ontology.owl

Python

from ontologos import Reasoner

# Preview only
Reasoner(path="ontology.owl", profile="dl-preview").classify()
Reasoner(path="ontology.owl", profile="alc").classify()

# Production OWL DL
Reasoner(path="ontology.owl", profile="dl").classify()

See Install and channels and Profile stability matrix.

Rust

use ontologos_core::{Profile, Reasoner};
use ontologos_facade::{self, ClassifyOutcome};

let mut reasoner = Reasoner::builder()
    .profile(Profile::DlPreview)  // preview gating; use Profile::Dl for stable production path
    .build(ontology)?;
match ontologos_facade::classify(&mut reasoner)? {
    ClassifyOutcome::Taxonomy(t) => {
        println!("subsumptions: {}", t.subsumption_count());
    }
    ClassifyOutcome::Rdfs(r) => println!("inferred: {}", r.inferred_total()),
    ClassifyOutcome::Rl(r) => println!("inferred: {}", r.inferred_total()),
}

See Facade API and Classify quick start.

Known limitations

Limitation Affected profiles Symptom
Incomplete tableau rules alc, dl-preview HasValue, HasKey, some cardinalities ignored
Expansion budget alc, dl-preview ResourceLimit after 4096 expansions
Entailment cap alc, dl, dl-preview Pairwise subsumption skipped when >192 named classes (MAX_CLASSES_FOR_ENTAILMENT_INFER)
Preview construct gate dl-preview PreviewLimit when EL-forbidden constructs present
Partial OWL mapping All Skipped axioms in parse_meta.warnings

Full construct list: Supported constructs.

Error types

Error Meaning Action
PreviewLimit Construct or feature not in preview scope Use stable profile — see Profile stability
ResourceLimit Tableau expansion budget exhausted Simplify ontology or increase DL budget
Profile / WrongProfile Profile mismatch Check ontologos profile output

See Error reference and Troubleshooting.