7 · Day-2 — change requests, deprecation, consumers

What happens after v0.3.0 ships: the change-request cycle, semver for ontologies, and never breaking a downstream silently.

0/1 done

Theory — Day-2

The hard part is everything after v1

Most ontology projects die not at design but at the first change request. MedaCore's day-2 handbook (a real example of the discipline you should ship for any production ontology):

Semver, ontology-flavoured

  • PATCH (0.3.0 → 0.3.1) — labels, comments, examples. No axiom changes. Downstream queries never break.
  • MINOR (0.3.0 → 0.4.0) — additive: new classes, new properties, looser domains. Old queries still work.
  • MAJOR (0.3.0 → 1.0.0) — breaking: tighter domains, removed classes, restructured hierarchies. Triggers a deprecation window.

Deprecation, not deletion

Removing a class people might still be querying is hostile. Instead:

:OldCausalityCode a owl:Class ;
    owl:deprecated true ;
    rdfs:comment "Use :CausalityAssessment + :whoUMC instead." ;
    skos:exactMatch :CausalityAssessment .

Three releases later, after every known consumer migrates (checked via SPARQL access logs), the class is finally dropped.

Change-request workflow

  1. Stakeholder files a request (Jira / GitHub issue).
  2. Ontology engineer drafts the change as a PR.
  3. CI runs robot diff and posts the human-readable summary to the PR.
  4. The Ontology Council (PV lead, data lead, regulatory affairs) reviews the diff. A MAJOR change requires written consumer sign-off.
  5. On merge, a new versioned PURL is published.

The cardinal sin

Editing the ontology in place on the production triplestore without going through the file → PR → CI → PURL cycle. You instantly lose reproducibility, auditability and the regulator's trust. The triplestore is a cache of the git-versioned source of truth — never the other way around.

Analogy

Treat your ontology the way a library treats its catalogue rules. New cataloguing rules are debated, approved, versioned and published — the old shelves don't get re-cataloged overnight; the new rule applies to new acquisitions and old records are migrated on a schedule. A library that changed its cataloguing rules silently would be unusable. So would your ontology.

Reflect

Day-2 is where the engineering in 'ontology engineering' actually shows up. The reasoner is impressive at design time. The deprecation policy is what keeps you employed two years later.

  • Sketch the consumer notification policy MedaCore needs before its first MAJOR release.
  • How would you measure whether a deprecated class is safe to remove?

Reading in progress · 0 of 1 activity done