Skip to content

URI2/PURL1: reports imported ontology IRI instead of root ontology IRI when owl:imports is used #254

Description

@micheldumontier

Description

When an ontology uses owl:imports, FOOPS! incorrectly reports the imported ontology's IRI as the assessed ontology's URI, rather than the root ontology's IRI. This causes URI2 and PURL1 to report the wrong IRI and fail with a false mismatch.

Reproduction

The issue manifests as an import chain:

  • Ontology pizza (https://w3id.org/ontostart/pizza/) has owl:imports <https://w3id.org/ontostart/pro>
  • Ontology pro (https://w3id.org/ontostart/pro/) has owl:imports <https://w3id.org/sulo>

When FOOPS! assesses https://w3id.org/ontostart/pizza/:

When FOOPS! assesses https://w3id.org/ontostart/pro/:

Root cause hypothesis

FOOPS! uses the OWL API to load ontologies. The OWL API resolves owl:imports and loads the imported ontology into the same ontology manager. FOOPS! then appears to pick the IRI of the first-loaded (imported) ontology instead of the IRI of the root ontology (the one corresponding to the document that was actually requested).

Expected behaviour

FOOPS! should identify the root ontology (the one loaded from the provided URI) and use its declared owl:Ontology IRI for all checks, ignoring the IRIs of transitively imported ontologies.

Workaround

None on the user side — removing owl:imports is not acceptable as it changes the formal OWL semantics of the ontology.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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