Skip to content

OWL-RL rule-based reasoning non-terminating due to self-referential property chains #404

@ThHanke

Description

@ThHanke

Problem

OWL-RL (rule-based / forward-chaining) reasoning on PMDco does not terminate.
ELK and HermiT (description logic, tableau-based) work correctly via ODK.

Root Cause

6 self-referential property chains detected. All follow the pattern:
SubObjectPropertyOf(ObjectPropertyChain(P has_part) P)

This is valid OWL DL but causes unbounded rule firing in OWL-RL:
no cycle-blocking mechanism exists in forward-chaining engines.

Property Source
BFO:RO_0000057 BFO/RO import
BFO:RO_0001025 BFO/RO import
BFO:RO_0002233 BFO/RO import
BFO:RO_0002234 BFO/RO import
pmdco:PMD_0025998 (has relational quality) pmdco-qualities.owl
pmdco:PMD_0025999 (relational quality of) pmdco-qualities.owl

Additionally: BFO:RO_0002082 is both Symmetric and Transitive (amplifier).

Evidence

Triple count during OWL-RL run: 10,756 → 50,529+ in 20s, no convergence.

Diagnostic Tool

scripts/owlrl_diagnose.py added — runs static analysis + timed OWL-RL attempt on Turtle release artifacts.

Notes

  • BFO/RO imports are upstream — pmdco cannot fix those 4 chains
  • PMD_0025998/PMD_0025999 chains are pmdco-owned and could be reviewed
  • OWL-RL profile may simply be incompatible with BFO-based ontologies by design

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions