Standards Interoperability
Guide to OpenEPCIS DPP interoperability with GS1, UNTP, CIRPASS2, and ESPR standards.
Overview
This page documents how OpenEPCIS DPP-Ready interoperates with the other Digital Product Passport initiatives in the EU ecosystem. The OpenEPCIS approach is to build natively on GS1 standards (Web Vocabulary, Digital Link, EPCIS 2.0) and bridge into adjacent vocabularies where helpful.
Status: v0.9.5 — pre-release (feature-complete). A dozen UNTP-aligned properties plus three class equivalences, bridge contexts for BatteryPass and UNTP, full ESPR 2024/1781 article coverage.
The DPP ecosystem
Several initiatives are defining Digital Product Passport specifications. They differ in scope, governance and identifier model.
| Initiative | Foundation | Scope | Status | GS1 link |
|---|---|---|---|---|
| OpenEPCIS DPP-Ready | GS1 Web Vocabulary + EPCIS 2.0 | Multi-sector (Battery, EUDR, Textile, Electronics) | v0.9.5 (pre-release) | Native |
| BatteryPass Data Model | Eclipse SAMM + custom URNs | Battery only | Spec v1.2.0 | Via bridge context |
| DPP Keystone | Custom JSON-LD | Multi-sector vocabulary | Proof-of-concept | Partial |
| CIRPASS2 | Requirements framework | Multi-sector requirements | Requirements only | Reference |
| UN Transparency Protocol (UNTP) | JSON-LD + JSON Schema | Multi-sector | Spec v0.6 | Property-level alignment |
How OpenEPCIS relates to each
BatteryPass Data Model (repo) is a battery-specific ontology developed by the Battery Pass Consortium using the Eclipse Semantic Modeling Framework (SAMM). It uses custom URN identifiers and emits multiple output formats (JSON-LD, JSON Schema, OpenAPI, AAS). OpenEPCIS provides a bridge context that ingests BatteryPass documents into the GS1-native vocabulary:
{
"@context": [
"https://ref.gs1.org/standards/epcis/epcis-context.jsonld",
"https://ref.openepcis.io/extensions/eu/battery/context",
"https://ref.openepcis.io/extensions/eu/battery/battery-context-batterypass-bridge.jsonld"
],
"batteryCategory": "ev",
"carbonFootprintPerLifecycleStage": {
"lifecycleStage": "RawMaterialExtraction",
"carbonFootprint": 12.5
}
}
The bridge maps BatteryPass property names to OpenEPCIS / GS1 URIs and rewrites identifiers from custom URN form to GS1 Digital Link.
DPP Keystone (dpp-keystone.org) is a vocabulary-harmonisation initiative that maps semantic equivalencies between DPP standards. It currently positions itself as a proof-of-concept. Where Keystone's vocabulary overlaps with the GS1 Web Vocabulary, OpenEPCIS uses the GS1 term; where it adds new terms, those are candidates for the OpenEPCIS extension contexts.
CIRPASS2 (cirpass2.eu) is an EU-funded project that defines DPP requirements and pilots, not a technical specification. OpenEPCIS implements the CIRPASS-2 requirements set; a coverage matrix lives in CIRPASS2_COVERAGE.md.
UN Transparency Protocol (UNTP) is the closest neighbour: a multi-sector JSON-LD vocabulary maintained by UN/CEFACT. OpenEPCIS aligns property names via owl:equivalentProperty and uses the same 0–1 decimal scale for ratios. See the property mapping table below.
Why OpenEPCIS chose GS1-native
The architectural decision shows up in three places:
- Identifiers — GTIN, GLN, SSCC are already issued by GS1 member organisations across supply chains. Reusing them avoids introducing a parallel identifier scheme.
- Resolvers — the GS1 Digital Link resolver ecosystem already exists; an OpenEPCIS deployment plugs in rather than building new resolver infrastructure.
- Events — EPCIS 2.0 is the established supply-chain event standard. DPP data riding inside EPCIS events means lifecycle traceability comes "for free" alongside product description.
GS1-native (OpenEPCIS):
Product → GTIN → GS1 Digital Link → DPP data
↳ https://id.dev.epcis.cloud/01/09521141012345
Custom-URN approach:
Product → Custom URN → Dedicated resolver → DPP data
↳ separate registration & resolver infrastructure
Quick Links
Documentation:
Vocabulary Browsers:
- Core DPP Vocabulary - Includes UNTP-aligned properties
Standards Alignment
OpenEPCIS aligns with and harmonizes multiple DPP standards:
| Standard | Alignment Level | Integration Method |
|---|---|---|
| GS1 Web Vocabulary | Native Foundation | Built on GS1 patterns, owl:imports |
| UN Transparency Protocol (UNTP) | Property-aligned | owl:equivalentProperty, bridge context |
| CIRPASS2 | Requirements coverage | Documentation |
| ESPR 2024/1781 | Full compliance | Core module implementation |
GS1-Native
OpenEPCIS is built on GS1 standards:
- GS1 Digital Link - Resolvable product identifiers (GTIN, GLN)
- EPCIS 2.0 - Supply chain event traceability
- GS1 Web Vocabulary - Semantic foundation (
gs1:Product,gs1:Organization)
UNTP-Compatible
Property names are aligned with UN Transparency Protocol patterns. For a deeper understanding of UNTP, DIDs, Verifiable Credentials, and how they fit into the broader digital twin ecosystem, see The Digital Twin Vision.
OpenEPCIS v0.9.5 includes:
| OpenEPCIS Property | UNTP Equivalent | Description |
|---|---|---|
dpp:carbonFootprintTotal | untp:carbonFootprint | Total emissions (kg CO2e) |
dpp:recycledContent | untp:recycledContent | Recycled material fraction (0-1) |
dpp:recyclableContent | untp:recyclableContent | Recyclable fraction (0-1) |
dpp:massFraction | untp:massFraction | Material mass proportion (0-1) |
dpp:declaredUnit | untp:declaredUnit | Unit for carbon footprint |
dpp:utilityFactor | untp:utilityFactor | Durability multiplier |
dpp:verifiedRatio | untp:verifiedRatio | Supply chain verification (0-1) |
dpp:primarySourcedRatio | untp:primarySourcedRatio | Direct measurement ratio (0-1) |
dpp:materialCircularityIndicator | untp:materialCircularityIndicator | MCI score (0-1) |
dpp:operationalScope | untp:operationalScope | CradleToGate / CradleToGrave |
dpp:granularityLevel | untp:granularityLevel | ProductClass / Batch / Item |
CIRPASS2-Ready
OpenEPCIS meets CIRPASS2 pilot requirements for Digital Product Passports. See the CIRPASS2 Coverage documentation for detailed analysis.
ESPR-Compliant
Full coverage of EU Ecodesign for Sustainable Products Regulation 2024/1781:
- Article 7 - Performance & durability via
dpp:PerformanceInfo,dpp:RepairabilityInfo - Article 8 - Substances of concern via
dpp:SubstanceOfConcern - Article 9 - Access rights via
dpp:AccessRights - Article 77 - Economic operator registration via
dpp:economicOperatorId
Value Convention
All ratio and fraction properties use the 0-1 decimal scale (aligned with UNTP):
{
"recycledContent": 0.45,
"massFraction": 0.15,
"verifiedRatio": 0.80
}
This means:
0.45= 45%0.15= 15%0.80= 80%
This enables direct interoperability with UNTP without any value conversion.
UNTP Bridge Context
The untp-bridge-context.jsonld allows UNTP-style JSON-LD documents to be processed using OpenEPCIS vocabulary:
{
"@context": [
"https://ref.openepcis.io/extensions/common/core/context",
"https://ref.openepcis.io/extensions/common/interop/untp-bridge-context.jsonld"
],
"carbonFootprint": 42.5,
"recycledContent": 0.45,
"recyclableContent": 0.80
}
Bridge Context Mappings
The bridge context maps UNTP-style names to OpenEPCIS URIs:
| UNTP Style | Maps To | Description |
|---|---|---|
carbonFootprint | dpp:carbonFootprintTotal | Total carbon emissions |
recycledContent | dpp:recycledContent | Recycled material ratio |
recyclableContent | dpp:recyclableContent | Recyclable material ratio |
massFraction | dpp:massFraction | Mass proportion |
declaredUnit | dpp:declaredUnit | Carbon footprint unit |
utilityFactor | dpp:utilityFactor | Durability factor |
verifiedRatio | dpp:verifiedRatio | Verification ratio |
CircularityPerformance | dpp:CircularityPerformance | Circularity class |
EmissionsPerformance | dpp:EmissionsPerformance | Emissions class |
TraceabilityPerformance | dpp:TraceabilityPerformance | Traceability class |
New Classes (UNTP-Aligned)
OpenEPCIS v0.9.5 introduces UNTP-aligned performance classes:
CircularityPerformance
Container for circularity metrics:
{
"@type": "dpp:CircularityPerformance",
"dpp:recyclableContent": 0.80,
"dpp:recycledContent": 0.45,
"dpp:utilityFactor": 1.2,
"dpp:materialCircularityIndicator": 0.65
}
EmissionsPerformance
Container for greenhouse gas emissions data:
{
"@type": "dpp:EmissionsPerformance",
"dpp:carbonFootprintTotal": 42.5,
"dpp:declaredUnit": "kg CO2e/unit",
"dpp:operationalScope": {"@id": "dpp:CradleToGate"},
"dpp:primarySourcedRatio": 0.75
}
TraceabilityPerformance
Supply chain verification metrics:
{
"@type": "dpp:TraceabilityPerformance",
"dpp:verifiedRatio": 0.80
}
Enumerations
OperationalScope
Lifecycle boundary for emissions calculation:
| Value | Description |
|---|---|
dpp:CradleToGate | Raw material extraction through manufacturing |
dpp:CradleToGrave | Full lifecycle including use and end-of-life |
GranularityLevel
DPP data specificity level:
| Value | Description |
|---|---|
dpp:ProductClass | DPP applies to all products of this type/model |
dpp:Batch | DPP applies to a specific production batch |
dpp:Item | DPP applies to an individual serialized product |
Validation
SHACL Shapes
SHACL validation shapes are available at https://ref.openepcis.io/extensions/common/core/dpp-core-shacl.ttl:
- Value range constraints - 0-1 for all fractions
- Required property validation
- Cardinality constraints
- Enumeration validation
- Format patterns - CAS numbers, EC numbers, country codes
Example constraint for fraction values:
sh:property [
sh:path dpp:recyclableContent ;
sh:datatype xsd:decimal ;
sh:minInclusive 0 ;
sh:maxInclusive 1 ;
sh:message "recyclableContent must be between 0 and 1"@en
] .
JSON Schema
JSON Schema 2020-12 is available at https://ref.openepcis.io/extensions/common/core/dpp-core-json-schema.json:
- Type definitions for all DPP classes
- Value format validation - patterns for identifiers
- Required field enforcement
- Enumeration constraints
Example fraction definition:
{
"Fraction": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "A fraction/ratio value between 0 and 1 (e.g., 0.45 = 45%)"
}
}
ESPR-specific extensions on top of UNTP
UNTP is intentionally generic; ESPR adds requirements that don't live in UNTP today. OpenEPCIS contributes those as ESPR-specific extensions in the core DPP vocabulary:
| Area | What OpenEPCIS adds |
|---|---|
| Operator roles | ESPR Article 77 role enumeration (Manufacturer, Importer, Distributor, …) |
| Facility information | GLN, certifications, facility types |
| Substances of concern | SCIP database alignment with CAS / EC numbers |
| Repairability | French Repairability Index (score, class, spare parts) |
| Access control | ESPR Article 9 three-tier access levels |
Licensing
OpenEPCIS DPP-Ready is released under Apache License 2.0.
Third-Party Acknowledgments
| Source | License | Usage |
|---|---|---|
| GS1 Web Vocabulary | GS1 IP Policy | Native foundation |
| UN Transparency Protocol | GPL-3.0 | Semantic alignment via owl:equivalentProperty |
| CIRPASS2 | CC BY 4.0 | Requirements documentation |
See LICENSING.md for detailed IP analysis.
Getting Started
- Import the DPP context in your JSON-LD documents:
{ "@context": "https://ref.openepcis.io/extensions/common/core/context" } - For UNTP-style property names, add the bridge context:
{ "@context": [ "https://ref.openepcis.io/extensions/common/core/context", "https://ref.openepcis.io/extensions/common/interop/untp-bridge-context.jsonld" ] } - Use 0-1 decimal scale for all ratio/fraction values
- Validate using SHACL shapes or JSON Schema
Resources
Documentation
External Standards
- UN Transparency Protocol (UNTP) — moved to GitLab in Nov 2025; the old GitHub repo is archived
- GS1 Web Vocabulary
- CIRPASS2 Project
- ESPR 2024/1781