Governance
Governance has two facets here. First, what makes a vocabulary well-governed: the bar the Vocab holds itself to, and the admission criteria for any external vocabulary it recognises and registers. Second, how the Vocab itself is maintained: who can propose a change, who ratifies it, and how it reaches the published vocabulary.
A governed plurality, not a single winner
The vocabulary ecosystem is too diverse to pick one winner: UN/CEFACT Buy-Ship-Pay, GS1, the EU/JRC vocabularies, WBCSD emissions vocabularies, schema.org, the WCO Data Model, IATA, DCSA, and hundreds of sector and conformity-scheme vocabularies all coexist, and a single credential will commonly reference several. As the architecture sets out, the answer is to separate structure from meaning: a schema defines the shape of a message; linked vocabularies define the meaning of the terms inside it.
A credential may therefore be written using any recognised vocabulary: “write the letter in any language you like, provided the words are defined in one of our recognised dictionaries.” But recognised is not the same as open-ended. Because the interoperability burden shifts onto the register, admission and maintenance criteria are what keep it from accumulating orphaned or unstable vocabularies, and what stop a weak scheme from appearing equivalent to a robust one because both happen to be machine-readable (“scheme-washing”). The same criteria apply to the Vocab itself.
What makes a vocabulary well-governed
To be recognised in the register, a vocabulary (the Vocab included) must satisfy each of the following. The last column shows how the Vocab meets its own bar.
| Requirement | What it means | How the Vocab meets it |
|---|---|---|
| Owner & namespace | A clearly identified maintainer and a stable namespace | UN/CEFACT, under vocabulary.uncefact.org |
| Human- & machine-readable | Published as RDF / JSON-LD and browsable HTML | One URI per term, content-negotiated to Turtle / JSON-LD / HTML |
| Persistent, stable URIs | A published URI resolves forever and never changes meaning | Flat, version-free URIs; the vocabulary evolves in place |
| Versioning & dates | Version identifier, publication date, and immutable snapshots for citation | Additive evolution; dated, pinned JSON-LD context snapshots at the document layer |
| Deprecation & succession | Terms are deprecated, not deleted, with a pointer to the successor | owl:deprecated + dcterms:isReplacedBy; the URI keeps resolving |
| Governance & change control | A documented, auditable change process | DMRs + merge requests + CI gates (below) |
| Scope & intended use | A stated scope so users know what the vocabulary is for | The supply-chain reference vocabulary, organised into seven domains |
| Mappings & their status | Declared relationships to peer vocabularies, each with an authority level | skos:*Match normative mappings with a recorded status |
| Maintenance contact | A route to report issues and request change | GitLab issues on the master repository |
Deterministic crosswalks and mapping authority
Because one credential may use several vocabularies, the mappings between them are themselves governed artefacts, each with its own owner, version and status. Not all mappings carry the same authority, so the register records a status for each:
self-declared → peer-reviewed → scheme-owner-approved → regulator-recognised → independently assessed.
For claims with legal effect (conformity declarations, emissions, supply-chain due diligence, CBAM /
EUDR / ESPR attributes), a mapping must be a deterministic crosswalk: a semantic-equivalence
assertion published as linked data (skos:exactMatch / closeMatch), versioned and inspectable,
ideally issued by the vocabulary maintainer or a recognised authority so there is an audit trail and
clear liability. Large language models are valuable for proposing candidate mappings, multilingual
rendering and gap detection, but they are an implementation aid subject to human curation, never the
authority for a regulated equivalence.
Legal precedence across jurisdictions
Some vocabularies are mandated, not merely available: alignment with the EU/JRC vocabularies may be a legal requirement for Digital Product Passports destined for the EU (ESPR and the battery and textile regulations). The register therefore lets a vocabulary be flagged legally mandated for a given jurisdiction and product category, with precedence metadata. Where a semantic conflict arises, the mandated vocabulary of the destination jurisdiction prevails, a verifiable normative hierarchy. The same DPP can carry one context for goods shipped to the EU and another elsewhere: same credential, different dictionary pointer.
Integrity of context files
The meaning of a credential depends on the JSON-LD context it references, so silently substituting or altering that context later would retroactively change what the credential means (the “context substitution” risk). Registered contexts must therefore be content-addressable or hash-anchored (a hashlink, or a digest recorded in the register) so that the credential + context pair stays verifiable over time. This is essential for evidentiary value if a claim is ever tested before a regulator or a court.
The remaining sections show how the Vocab satisfies this bar in practice: its term lifecycle, versioning policy, maintenance process and audit trail.
Term lifecycle
Every class, property and code value carries a unece:termStatus from a governed lifecycle:
| Status | Meaning |
|---|---|
| proposed | Introduced via a DMR; under review, not ratified. Everything is currently proposed. |
| active | Ratified and in normative use. |
| deprecated | Superseded; still resolves, carries owl:deprecated + dcterms:isReplacedBy. Do not use in new work. |
| retired | Withdrawn from use but never deleted, the URI resolves forever so historic credentials stay verifiable. |
Versioning: evolve in place, no version in the path
The Vocab is not versioned as a monolith, and URIs carry no version segment. The vocabulary evolves additively: new terms are added; existing term URIs never change meaning; corrections are new terms and the old one is deprecated. This matches every durable web vocabulary (schema.org, PROV, Dublin Core).
Versioning instead lives at the document layer, in the pinned, immutable JSON-LD context snapshots: a context is a dated snapshot so a credential signed against the 2026 context keeps resolving exactly what it was signed against. The vocabulary moves; the contexts are frozen points on it.
For an MVP release the guiding rule is to freeze the minimum: the only permanently-frozen URIs are
the authoritative source codes. Every overlay (entity lifecycles, quantity-kinds, domain and role
groupings) is a skos:Collection, and every equivalence is a skos:*Match mapping; both evolve
without URI churn.
How the Vocab is maintained
- The master is this UN GitLab repository:
opensource.unicc.org/un/unece/uncefact/vocab-bsp. The Turtle source there is the single source of truth; every other artefact is generated from it. - Anyone registered as a UN/CEFACT expert may lodge a Data Maintenance Request (DMR) as a GitLab issue, stating the proposed change, its rationale, and the affected terms.
- The Vocab maintenance team (registered experts together with the UN/CEFACT secretariat) reviews the DMRs at regular meetings. Discussion and disposition happen in the open, on the issue.
- For approved DMRs, the vocabulary focal point prepares a merge request. CI validation (see
Architecture) gates every merge; on merge the term moves through the
lifecycle (
proposed → active, or intodeprecated/retired).
This replaces the closed, tool-bound library-maintenance process with an open, diff-reviewable one, the same model any registered external vocabulary is expected to be able to demonstrate.
How the Vocab was built: an auditable trail
The Vocab is a once-off, defensible refactor of two approved UN/CEFACT vocabularies, the Buy-Ship-Pay (BSP) reference data model and the UN Transparency Protocol (UNTP) vocabulary, into one lean linked-data ontology. Every decision is documented and every term is traceable to its source, and the full trail is published in the repository.
Sources
The authoritative UN/CEFACT materials the Vocab is constructed from:
| Source | Owner | What the Vocab takes from it | Pinned |
|---|---|---|---|
| UN/CEFACT Buy-Ship-Pay (BSP + UNTDED) | UN/CEFACT | The trade and supply-chain data-element library and its code lists. | n/a |
| UN Transparency Protocol (UNTP) | UN/CEFACT (UNTP project) | Product-passport and conformity vocabulary. UNTP credentials re-point their JSON-LD @context at the Vocab. | n/a |
| UNECE Rec 20 / Rec 21 | UNECE | Units of measure; the authoritative source for the unit-of-measure scheme. | Rev 17 (2021) |
Methodology: the defensible fork
Why a fork (not an automated transform), the modelling principles that make it defensible, and the staged pathway are all written down:
- Alignment strategy: the decision, the 9 modelling principles, the migration pathway, the defensibility spine, and the default-keep re-triage (drop-criteria calibration).
- Alignment challenges (why CCTS/EDI and linked-data diverge) and Alignment goals (the destination).
- Code-list strategy : how each code list was triaged (keep / park / retire) and profiled.
Traceability: every term back to its source
Provenance lives in the diff-reviewable CSV ledgers, one row per source term: each Vocab term’s BSP/UNTP
origin and what happened to it. It is not carried in-band, because the legacy BSP and UNTP vocabularies
retire once the Vocab is published, so their term URIs would not resolve. Newly-proposed Vocab terms
carry dcterms:provenance "Proposed Vocab addition" in-band, marking them as new rather than refactored
from a source.
- Migration ledger, the defensibility spine: for every BSP/UNTP term, what happened to it (keep · rename · merge · dissolve · drop) and why.
- Code-list ledger : the keep/park/retire decision and rationale for each code list.
- Source-analysis worksheets : per-class property triage, code-list usage & re-add candidates, and the held overloaded-variant families.
Validation: tested against real credentials and documents
The vocabulary was proven by the grounding test: hold the frozen UNTP and UNVTD schemas and check that
every term can re-point its JSON-LD @context at the Vocab, a concrete measure that the merged vocabulary
meets the business needs of the core credentials without changing their schemas. Any term that couldn’t
re-point was a real gap, closed by bringing back the authentic source term (or adding a marked proposed
addition).
- UNTP coverage: 5 credential schemas → 100% re-pointable. (per-credential mappings )
- UNVTD coverage: 21 trade-document schemas → 100% re-pointable. (per-document mappings )
- How the test works : the MAPPED / REUSE / GAP method and what each status means.
Stewardship
The vocabulary is organised into seven domains (core, trade, transport, regulatory, finance,
production, conformity). Domain is machine-readable metadata
(rdfs:isDefinedBy unece-mod:<domain>), so a domain can be stewarded (and its terms re-homed)
without touching any URI.