ADR-A88: Ontology import resolution for consumers

Status: Accepted Date: 2026-09-25 (proposed), 2026-09-25 (accepted) Related: ADR-A86 (ontology semantic versioning), ADR-A77 (repository topology) Unit: applied-ontology-readiness

Context

Every LATTICE layer imports its dependencies by exact owl:versionIRI (ADR-A86). An applied ontology does the same. Neither can load its import closure with standard tooling today:

A consumer must therefore write and maintain its own mapping from every LATTICE IRI to a file, and repeat that work after each upgrade.

Decision

  1. One generated, repository-relative catalog. ontology/catalog-v001.xml (OASIS XML Catalogs) maps every ontology IRI and every owl:versionIRI declared under ontology/ to its file by a path relative to the catalog. A tool generates it from the documents’ own headers. It is never edited by hand.
  2. Directory stubs for editors. Protégé reads the catalog beside the document it opens. Each directory holding an owl:Ontology document gets a generated stub catalog whose only entry is a nextCatalog pointing at the root catalog. The existing hand-made catalogs are replaced by these stubs.
  3. A resolution check. A check fails when an owl:imports target inside ontology/ in a LATTICE namespace has no catalog entry, when a catalog entry names a file that does not declare that IRI, or when the committed catalog differs from a fresh generation. External imports (PROV-O, SKOS) are listed explicitly with their published locations.
  4. A consumer pattern, documented, not imposed. An applied ontology pins a LATTICE commit (submodule, vendored copy or package, at its choice) and chains its own catalog to LATTICE’s with nextCatalog. The guide states the upgrade procedure: move the pin, enumerate changed version IRIs, cascade owl:imports per the ADR-A86 checklist, re-run the consumer’s own gate. At major version zero every LATTICE bump is treated as potentially breaking.
  5. Publication at the IRIs is deferred. Serving documents at their version IRIs is compatible with this decision and remains open. The catalog is required either way for offline and pinned use.

Consequences

Open questions