Mappings: add BSP-peer skos:exactMatch back-links; complete UNVTD coverage
Summary
Grounds UNSCRO against the credentials and documents it must serve: completes the UNTP/UNVTD @context re-pointing test to 100% for both, closing
every gap with authentic source terms (or clearly-marked proposed additions), and publishes the full provenance trail on the site. 8 commits; graph grows
to 89 classes / 744 properties / 101 code lists, validate green throughout.
The grounding test — can the frozen credential/document schemas re-point their @context at UNSCRO?
- UNTP: 100% re-pointable (5 credential schemas, 0 gaps).
- UNVTD: 53% → 100% re-pointable (21 trade-document schemas, 0 distinct gaps).
How the gaps were closed (in order, each the authentic BSP/UNTP term)
-
Class back-links — the renamed UNSCRO classes lacked
skos:exactMatchto the BSP peer they replace (Party←TradeParty,ConsignmentItem←SupplyChainTradeLineItem, …17); adding them is both the Phase-5 mapping and the join key (57% → 79%). -
Bring-backs — 14 excluded-but-existing BSP properties restored, then 9 more attached to existing classes where their BSP home was a dissolved
aggregation node (
*MonetarySummation) or a niche/misfiled class (locationNamewas on a maritime-health class) — reviving those would re-bloat, so attach-to-existing (79% → 86%). -
TradeDocumentreference anchor (principle 9) — one thin document class (documentType+identifier+name+referencedDocument) that the 11 BSP document classes + 4*ReferencedDocumenttermsexactMatchto, instead of 17 structural document classes (86% → 93%). -
Proposed additions — 12 genuinely-new terms (roles, locations, temperatures,
bookingReference,dangerousGoodsClassCode+ a new UN-hazard-class SKOS list, …), each markeddcterms:provenance "Proposed UNSCRO addition"(nodcterms:source) to distinguish them from governance-approved BSP/UNTP terms (93% → 100%). -
Context-corrections — the generic-
typeCodeand mis-pointed cases re-point to existing specific terms via aUNVTD_OVERRIDEmap in the generator;hsCoderecorded as external reuse (HS/WCO — parked to-do).
Provenance & manifests
- Every kept term carries
dcterms:source(BSP/UNTP origin) +skos:exactMatch(peer mapping) in-band; proposed additions carrydcterms:provenanceinstead — a clean, queryable governance distinction. -
UNSCRO-migration-ledger.csvregenerated (2,043 rows — one per source term) andcode-list-ledger.csvreconciled; both stay current via their reconciler scripts and are gate-enforced.
Site — auditable trail published
- Mappings page gains a "How UNSCRO was built — an auditable trail" section linking the methodology docs, the CSV manifests, and the UNTP/UNVTD coverage + per-schema mappings (repo-blob links, matching the code-list pattern).
- Ontology overview: each domain sub-heading now links to its domain page.
Verification
-
validate-vocab.pypasses all 7 gates (incl. code-list ledger-drift). -
npm run buildexports the static site cleanly.
Follow-ups (parked)
- HS commodity code list — external (WCO); local SKOS copy if not published as linked data (big job).
- Governance ratification of the 12 proposed additions.
- Optional: bundle
methodology/+mappings/into the static export if a self-contained (repo-independent) audit trail is wanted.