Add ranges to the 10 object properties with an obvious existing type
Summary
Two related pieces of work. First, the ontology's typing is now complete and enforced: every object property declares a range, backed by a new CI gate. Second, the code lists get proper visibility through a scope classification and grouped catalogues. Also adds a per-item Data Maintenance Request link. All 9 validation gates pass; the docs site and the resolvable vocabulary both rebuild cleanly.
Object-property ranges (every property is typed)
- Added
schema:rangeIncludesto the 10 object properties that had an obvious existing class or code list (product / facility / regulation / standard links, and twocountry-idlinks). - Modelled the two n-ary join nodes as identity-less value objects: added
unece:PartyRole(skos:closeMatch schema:Role) andunece:MaterialUsage, sorelatedPartyandfacilityMaterialUsagecarry a declared type without gaining identity. - Introduced
unece:any-code, an abstract open code list, as the range for the 7 code-carriers whose concrete list is a sector-specific implementation choice (product category, industry sector, material type, and so on), each with a guidance comment naming the usual concrete list. The pattern is documented incode-list-strategy.md. - Added validate gate 9 (range completeness): every
owl:ObjectPropertymust declare a range. Zero untyped object properties remain.
Code-list visibility
- Added
unece:codeListScope(shared / domain / governance), seeded on all code lists by derivation. It drives presentation only, with no URI or semantic change. - Regrouped the resolvable vocab
/code-listsindex and added a generated Code Lists page to the Ontology docs section (shared lists first, then per-domain, then governance, with the unused tail folded away), plus a Code Lists panel on the home page. - Promoted Incoterms and dangerous-goods-class to shared.
- Removed the confusing "(generated)" suffix from every code-list description.
Performance / metrics reconciliation
- Folded the redundant
PerformanceMetricclass into the UNTP performance-metrics taxonomy (it was really a code list).metricnow names a taxonomy code, so the taxonomy is bound and shows under Conformity. - Unified the taxonomy's imported
untp:metadata literals into properunece:properties pointing at concept URIs, completing theaggregation-typeandimprovement-indicatorschemes. Fixed two latent bugs inbuild-untp-taxonomies.py(production-namespace leak, and a dropped scope tag).
Other
- A Data Maintenance Request link on every resolvable item page, opening a pre-filled GitLab new-issue form (title plus a body that links back to the item).
- Removed the obsolete
ontology/code-lists.md(stale early-import notes, superseded bycode-list-strategy.md).