OWL-RL-Safe Ruleset Adoption and Unevaluated Modelling Axioms

    Context and Problem Statement

    ODR-0025 set opda’s entailment regime — RDFS plus a curated OWL 2 RL-safe rule subset, with certain OWL constructs excluded from the closure. Two questions were left open. First, whether to adopt an established prior-art safe ruleset as-is or re-derive one (the prior-art source is recorded in §More Information): analysis of that ruleset confirmed the rule bodies reference only rdf:/rdfs:/owl: vocabulary and generic variables — zero domain IRIs — so they transfer verbatim. Second, what the exclusion of rdfs:domain/rdfs:range/owl:equivalentClass means for authoring: does opda stop using those constructs, or keep them but not evaluate them?

    opda already authors the “excluded” constructs where they carry information: 27 rdfs:subClassOf, 2 rdfs:subPropertyOf, 3 owl:equivalentClass (the evidence-class short/long-name aliases, ADR-0011 — since RETIRED by Council session-035; see R3 amendment), and rdfs:domain declarations (e.g. opda:currentEnergyRating rdfs:domain opda:Property, the case behind ODR-0025 §R7). Removing them to match the closure would discard genuine documentation and OWL-identity information. This ODR settles both questions.

    Considered Options

    • Option A (chosen) — Adopt the OWL-RL-safe ruleset wholesale and adopt the model-but-don’t-evaluate principle. Author rdfs:domain, rdfs:range, owl:equivalentClass where they carry information; the load-time closure does not evaluate them.
    • Option B — Re-derive a bespoke opda ruleset. Rejected: the prior-art safe set (see §More Information) is pure W3C vocabulary, already ratified and validated upstream; re-derivation adds risk for no gain.
    • Option C — Stop authoring domain/range/equivalentClass because they are not evaluated. Rejected: they carry documentation and OWL-identity value independent of entailment; removing them loses information for humans and external tooling.
    • Option D — Evaluate equivalentClass for the internal aliases only (a carve-out). Rejected: it re-opens the ODR-0025 safe-set boundary for a need better met in the shape layer (R3); revisit only if a named consumer requires it.

    Decision Outcome

    Chosen option: “Option A — Adopt the OWL-RL-safe ruleset wholesale and adopt the model-but-don’t-evaluate principle”, because the prior-art safe set (see §More Information) is pure W3C vocabulary transferring without semantic change, and rdfs:domain/range/equivalentClass carry real documentation and OWL-identity value independent of entailment.

    opda adopts the OWL-RL-safe ruleset wholesale (the seven enabled rules, verbatim — only provenance, the entailment-graph IRI, and the consistency-gate namespace differ; ADR-0035) and adopts the model-but-don’t-evaluate principle: opda continues to author rdfs:domain, rdfs:range, owl:equivalentClass (and the other ODR-0025 §R2-excluded constructs) because they carry real information — human documentation, OWL identity, and input for external DL tooling — while the load-time closure simply does not evaluate them; the ODR-0025 §R2 exclusion is a non-evaluation, not a prohibition on authoring.

    Consequences

    • Author config/opda-rdfs-plus.rules (renamed from opda-owl-rl-safe.rules per ODR-0029 R5) verbatim from the prior-art ruleset (ADR-0035; see §More Information), with the three opda deltas only.
    • Keep rdfs:domain/range and owl:equivalentClass in the emitted ontology — they are documentation/identity, not inference inputs; no authored axiom is removed.
    • SHACL shapes MUST NOT assume equivalentClass (or domain/range) entailment — target the actual asserted types. Audit any shape that targets a canonical evidence class while expecting short-name instances to match (R3).
    • The closure correctness test (ADR-0035 §Confirmation) asserts NO equivalentClass/domain/range-derived triple appears in the inferred graph.
    • No emitted IRIs change; opda’s authored axioms are unchanged — only the entailment evaluation is bounded.

    More Information

    • Refines: ODR-0025 §R1/§R2 (ratifies wholesale adoption; clarifies the §R2 exclusion as non-evaluation) and §R7 (the EPCCertificate domain case).
    • Safe-set anchors: ODR-0005 §R5, ODR-0017 §R6 (no owl:sameAs).
    • Mechanism: ADR-0035 (config/opda-rdfs-plus.rules + the SPARQL-INSERT materialisation and consistency gate).
    • Alias origin: ADR-0011 (within-engineering short-name aliases for the diagnostic exemplar set).
    • Consolidating doctrine: ODR-0033 — gathers this record’s §R2 (model-but-don’t-evaluate) and §R3 (drop the redundant axiom where a safe substitute carries the signal) into the single “author OWL/RDFS axioms as documentary AI-signal, never entailed” doctrine.
    • Prior art (the adopted ruleset and the documentary-axiom idiom): ~/source/hm/semantic-modelling — config/hm-owl-rl-safe.rules (the verbatim-adopted safe ruleset of §R1), hm ODR-0036 (SHACL rules & OWL inferencing), hm ODR-0014 (domain/range as documentation), council sessions 103–105.

    Rules

    R1 — Wholesale adoption of the safe ruleset

    config/opda-rdfs-plus.rules (renamed from opda-owl-rl-safe.rules per ODR-0029 R5) is the prior-art safe ruleset (see §More Information) adopted verbatim: the seven enabled rules — rdfs:subClassOf transitivity + type propagation, rdfs:subPropertyOf transitivity + value propagation, owl:inverseOf (both directions), owl:TransitiveProperty, owl:SymmetricProperty. The rule bodies cite only rdf:/rdfs:/owl: vocabulary and generic variables — no project-specific IRI appears — so they transfer without semantic change. The only opda-specific deltas are: provenance comments (→ ODR-0025/0026), the entailment-graph IRI (https://opda.org.uk/pdtf/graph/inferred/entailment), and the consistency-gate subject-namespace filter (https://opda.org.uk/pdtf/). The mechanism (SPARQL-INSERT materialisation + consistency gate) is ADR-0035; disjointness remains a validation check, not an entailment.

    R2 — Model-but-don’t-evaluate (clarifies ODR-0025 §R2)

    The ODR-0025 §R2 exclusions — rdfs:domain, rdfs:range, owl:equivalentClass, owl:equivalentProperty, owl:FunctionalProperty, owl:InverseFunctionalProperty — remain first-class modelling vocabulary in opda’s ontology. They are authored wherever they add information:

    • rdfs:domain / rdfs:range — typing documentation, read by humans and external tools (and treated as documentary, not as intersection-typing inference).
    • owl:equivalentClass — OWL identity assertions, where genuinely needed (the evidence-class aliases that were the original example were retired by session-035, R3 — a synonymy need better served by skos:altLabel; equivalentClass stays admissible-but-unevaluated for true co-extension claims).

    The load-time closure (R1) does not evaluate any of them: no domain/range type entailment, no equivalentClass/equivalentProperty propagation, no owl:sameAs from Functional/InverseFunctional (the ODR-0005 §R5 / ODR-0017 §R6 anti-pattern). They are documentation and identity, not active inference. (External OWL-DL tooling, if ever pointed at opda’s class graph, may evaluate them independently — out of opda’s load-time scope and not opda’s concern.) Note this is exactly why the EPCCertificate rdfs:domain case (ODR-0025 §R7) does not manifest in the closure.

    R3 — The evidence-class aliases are documentation, not an entailment bridge

    opda-claim.ttl declares three owl:equivalentClass aliases (ADR-0011): opda:DocumentEvidence ≡ opda:Document, opda:ElectronicRecordEvidence ≡ opda:ElectronicRecord, opda:VouchEvidence ≡ opda:Vouch — short names the diagnostic exemplar set uses, bound to the canonical …Evidence classes that shapes and annotations target. Under R2 these equivalences are not entailed: an instance typed only with the short name is not inferred to be the canonical class. This matches current behaviour (pyshacl inference="rdfs" never entailed owl:equivalentClass — it is OWL, not RDFS — so it is not a regression). If a consuming SHACL shape must fire on short-name instances, that is resolved in the shape/exemplar layer (target both names, or type exemplars with the canonical class), not by evaluating owl:equivalentClass. Re-examining the alias pattern itself is an ADR-0011 question, out of scope here.

    Amendment — Council session-035 (2026-06-01). The “ADR-0011 question” flagged above was taken up and resolved: the three owl:equivalentClass evidence aliases are RETIRED (8–0–0), not retained-as-inert. R3’s “documentation, not an entailment bridge” reading was correct but understated — a safe, evaluable, native substitute exists (skos:altLabel for the short name + skos:exactMatch to the governed opda:EvidenceMethodScheme concept), so model-but-don’t-evaluate (R2) does not apply here: keep the information, drop the unsafe-and-redundant axiom. The three owl:equivalentClass axioms are accordingly removed from opda’s emitted TBox and from the §R2 “authored-but-excluded” inventory; the evidence-kind discriminator is now the opda:evidenceType SHACL-validated facet. R2’s general principle (genuine rdfs:domain/range documentation with no safe substitute stays authored-but-unevaluated) is unchanged.

    ← Back to ODR Corpus  |  Download Markdown source

    This record's status, scope and dated amendments identify its current authority. Historical decisions retain their recorded context; later corrections remain auditable in Git history.

    Comments

    Loading comments…