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.

InitiativeFoundationScopeStatusGS1 link
OpenEPCIS DPP-ReadyGS1 Web Vocabulary + EPCIS 2.0Multi-sector (Battery, EUDR, Textile, Electronics)v0.9.5 (pre-release)Native
BatteryPass Data ModelEclipse SAMM + custom URNsBattery onlySpec v1.2.0Via bridge context
DPP KeystoneCustom JSON-LDMulti-sector vocabularyProof-of-conceptPartial
CIRPASS2Requirements frameworkMulti-sector requirementsRequirements onlyReference
UN Transparency Protocol (UNTP)JSON-LD + JSON SchemaMulti-sectorSpec v0.6Property-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:

  1. Identifiers — GTIN, GLN, SSCC are already issued by GS1 member organisations across supply chains. Reusing them avoids introducing a parallel identifier scheme.
  2. Resolvers — the GS1 Digital Link resolver ecosystem already exists; an OpenEPCIS deployment plugs in rather than building new resolver infrastructure.
  3. 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

Documentation:

Vocabulary Browsers:

Standards Alignment

OpenEPCIS aligns with and harmonizes multiple DPP standards:

StandardAlignment LevelIntegration Method
GS1 Web VocabularyNative FoundationBuilt on GS1 patterns, owl:imports
UN Transparency Protocol (UNTP)Property-alignedowl:equivalentProperty, bridge context
CIRPASS2Requirements coverageDocumentation
ESPR 2024/1781Full complianceCore 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 PropertyUNTP EquivalentDescription
dpp:carbonFootprintTotaluntp:carbonFootprintTotal emissions (kg CO2e)
dpp:recycledContentuntp:recycledContentRecycled material fraction (0-1)
dpp:recyclableContentuntp:recyclableContentRecyclable fraction (0-1)
dpp:massFractionuntp:massFractionMaterial mass proportion (0-1)
dpp:declaredUnituntp:declaredUnitUnit for carbon footprint
dpp:utilityFactoruntp:utilityFactorDurability multiplier
dpp:verifiedRatiountp:verifiedRatioSupply chain verification (0-1)
dpp:primarySourcedRatiountp:primarySourcedRatioDirect measurement ratio (0-1)
dpp:materialCircularityIndicatoruntp:materialCircularityIndicatorMCI score (0-1)
dpp:operationalScopeuntp:operationalScopeCradleToGate / CradleToGrave
dpp:granularityLeveluntp:granularityLevelProductClass / 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 StyleMaps ToDescription
carbonFootprintdpp:carbonFootprintTotalTotal carbon emissions
recycledContentdpp:recycledContentRecycled material ratio
recyclableContentdpp:recyclableContentRecyclable material ratio
massFractiondpp:massFractionMass proportion
declaredUnitdpp:declaredUnitCarbon footprint unit
utilityFactordpp:utilityFactorDurability factor
verifiedRatiodpp:verifiedRatioVerification ratio
CircularityPerformancedpp:CircularityPerformanceCircularity class
EmissionsPerformancedpp:EmissionsPerformanceEmissions class
TraceabilityPerformancedpp:TraceabilityPerformanceTraceability 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:

ValueDescription
dpp:CradleToGateRaw material extraction through manufacturing
dpp:CradleToGraveFull lifecycle including use and end-of-life

GranularityLevel

DPP data specificity level:

ValueDescription
dpp:ProductClassDPP applies to all products of this type/model
dpp:BatchDPP applies to a specific production batch
dpp:ItemDPP 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:

AreaWhat OpenEPCIS adds
Operator rolesESPR Article 77 role enumeration (Manufacturer, Importer, Distributor, …)
Facility informationGLN, certifications, facility types
Substances of concernSCIP database alignment with CAS / EC numbers
RepairabilityFrench Repairability Index (score, class, spare parts)
Access controlESPR Article 9 three-tier access levels

Licensing

OpenEPCIS DPP-Ready is released under Apache License 2.0.

Third-Party Acknowledgments

SourceLicenseUsage
GS1 Web VocabularyGS1 IP PolicyNative foundation
UN Transparency ProtocolGPL-3.0Semantic alignment via owl:equivalentProperty
CIRPASS2CC BY 4.0Requirements documentation

See LICENSING.md for detailed IP analysis.

Getting Started

  1. Import the DPP context in your JSON-LD documents:
    {
      "@context": "https://ref.openepcis.io/extensions/common/core/context"
    }
    
  2. 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"
      ]
    }
    
  3. Use 0-1 decimal scale for all ratio/fraction values
  4. Validate using SHACL shapes or JSON Schema

Resources

Documentation

External Standards

Last updated: