Skip to content

adr: widen MappingAssertion.subject to a CitationSystem IRI, and re-introduce closeMatch #106

Description

@maehr

Context

ADR-0006 replaced the SKOS mapping relations with prov:alternateOf and dcterms:isReferencedBy, chosen by what the target is rather than by author confidence. It removed closeMatch outright, because closeMatch had been carrying two unrelated jobs and did neither well.

One of those jobs was expressing equivalence between citation systems. The ADR could not keep it, because MappingAssertion.subject MUST be a Work IRI, so a system-to-system assertion cannot be authored at all. It filed the gap as a follow-up:

Separate ADR: widen MappingAssertion.subject to admit a CitationSystem IRI, then re-introduce closeMatch as an additive change.

The interim requirement is met. src/content/docs/standard/specification.md §13 now states that the equivalence between citation systems is not yet expressible in this version, and that a future revision may widen subject.

The gap

Divergent versification is the live case. Where traditions number verses differently — the Psalms in the Masoretic text versus the Vulgate and the Septuagint — each tradition is a distinct CitationSystem, and its references are distinct CanonicalReferences. That separation is correct: they are different identities, not one identity with two names.

But a reader holding a Vulgate psalm number has no machine-readable path to the Masoretic reference for the same passage. The registry knows the two systems exist and says nothing about how they relate.

What the ADR would decide

  1. Widening subject. Admit a CitationSystem IRI alongside a Work IRI. Every consumer that reads subject must then narrow. Work.alternateOf and Work.isReferencedBy are projections built by grouping mappings on their subject, so the projection code needs a subject-type filter that today is implicit.
  2. The relation to re-introduce. closeMatch was removed on the ground that it encoded confidence. A system-to-system relation must be defined by what it asserts, consistent with ADR-0006's own rule.
  3. Whether the assertion is per system or per reference. Psalm numbering diverges for some psalms and not others. A system-level assertion says the two schemes overlap; it cannot say which passages align. A reference-level mapping could, at a cost in registry size.
  4. Whether an ontology term is needed — see the ontology stub issue.

Links

  • decisions/ADR-0006-mapping-relation-vocabulary.md — the follow-up
  • src/content/docs/standard/specification.md §13 — the interim statement
  • standard/schema/mapping-assertion.ts — the current subject shape

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    adrArchitecture Decision RecordenhancementNew feature or requestpost-v0.1.0Deferred past the v0.1.0 baseline. Revisit if the need arises.standardThe published specification and schemas

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions