OpenEPCIS Extension Vocabularies

Browse the available extension vocabularies for Digital Product Passports. These ontologies define classes, properties, and enumerations for DPP implementations compliant with EU regulations.

Community Implementation - Not Official GS1 Guidance

These vocabularies represent one possible approach to implementing Digital Product Passports. They are built on GS1 standards where available, but many ESPR-specific data elements (durability, repairability scores, recycled content, etc.) are not yet defined in the GS1 Web Vocabulary.

The GS1 DPP Provisional Standard is still under development. Our extensions are proposals that may overlap with or be superseded by official GS1 terms as they emerge. We aim to align with GS1 and contribute back to the standards process.

This is not official GS1 guidance - GS1 staff cannot provide support for these extensions. Feedback welcome!

About these vocabularies

EU regulations like the Ecodesign for Sustainable Products Regulation (ESPR) require manufacturers to publish structured product data—durability scores, recycled content, carbon footprints, substances of concern—in a machine-readable Digital Product Passport. That data needs a shared vocabulary so it can be exchanged, validated, and understood across supply chains.

The GS1 Web Vocabulary already provides solid foundations: product identity, organizations, locations, and quantitative values. Combined with GS1 Digital Link for resolvable URIs and EPCIS 2.0 for event-based traceability, it covers a lot of ground. But many ESPR-specific data elements—repairability indices, lifecycle carbon breakdowns, battery state-of-health measurements, deforestation due-diligence records—are not yet defined in the GS1 standard.

These extension vocabularies fill that gap. They propose concrete terms for the data that EU regulations demand but GS1 does not yet cover, organized into a shared core and domain-specific modules. Our goal is to give implementers something they can use today while contributing back to the standards process as official GS1 DPP terms emerge.

Available Vocabularies

DPP Core Vocabulary

Cross-jurisdictional core vocabulary for Digital Product Passports (v0.9.5). ESPR-compliant, UNTP-aligned patterns for circularity, emissions, traceability, and access control.

https://ref.openepcis.io/extensions/common/core/

Battery DPP Vocabulary

Vocabulary for EU Battery Regulation (2023/1542) Digital Product Passports (v0.9.5). Covers battery chemistry, carbon footprint, State of Health, and Annex XIII compliance. Aligned with the BatteryPass-Ready v1.3 Data Attribute Longlist (GEFEG, March 2026) for upcoming conformance testing.

https://ref.openepcis.io/extensions/eu/battery/

EUDR Vocabulary

Vocabulary for EU Deforestation Regulation (2023/1115) compliance (v0.9.5). Covers geolocation, origin traceability, and due diligence requirements.

https://ref.openepcis.io/extensions/eu/eudr/

Textile DPP Vocabulary

Vocabulary for EU Sustainable Textiles Strategy and ESPR (v0.9.5). Covers fiber composition, ISO 3758 care instructions, durability metrics, and circularity.

https://ref.openepcis.io/extensions/eu/textile/

Electronics DPP Vocabulary

Vocabulary for ESPR Electronics delegated acts (v0.9.5). Covers French Repairability Index, EU Right to Repair (A-E grades), WEEE/RoHS compliance, Energy Labeling (A-G, EPREL), and CIRPASS-2 multi-component tracking.

https://ref.openepcis.io/extensions/eu/electronics/

Detergent DPP Vocabulary

Vocabulary for EU Detergents Regulation 2026/405 (v0.9.5). Covers INCI ingredients, surfactant biodegradability, CLP hazard classification, and online-sales disclosure requirements.

https://ref.openepcis.io/extensions/eu/detergent/

PPWR DPP Vocabulary

Vocabulary for the EU Packaging and Packaging Waste Regulation 2025/40 (v0.1.0). Intentionally thin — only packaging-specific concepts (Packaging, packagingTier, recyclabilityGrade A/B/C, harmonisedSymbol) live here. Recyclability, recycled content, reuse, compostability, bio-based content, hazardous substances, EPR registration, and deposit-return all delegate to the lifted dpp: cross-cutting vocabulary.

https://ref.openepcis.io/extensions/eu/ppwr/

CPR DPP Vocabulary

Vocabulary for the revised EU Construction Products Regulation 2024/3110 (v0.1.0). Intentionally thin — only construction-specific concepts (ConstructionProduct, constructionProductType per Annex III, reactionToFireClass A1..F per EN 13501-1, declarationOfPerformanceUrl, EssentialCharacteristic) live here. Recycled content, carbon footprint, recyclability, hazardous substances, end-of-life, and EPR all delegate to the lifted dpp: cross-cutting vocabulary.

https://ref.openepcis.io/extensions/eu/cpr/

FSMA 204 Vocabulary

Vocabulary for the U.S. FDA Food Safety Modernization Act §204 Final Rule on Food Traceability, 21 CFR 1 Subpart S (v0.1.0). Covers Traceability Lot Codes, Critical Tracking Events, and the Food Traceability List.

https://ref.openepcis.io/extensions/us/fsma204/

GS1 Rail Vocabulary

GS1 Rail Vocabulary v1.6 — sectoral Layer-1 vocabulary published by GS1 AISBL with GS1 Switzerland. Covers WTMS sensor metadata, wheel and bearing diagnostics, vehicle imbalance metrics, and EPCIS Registry response shapes for rail rolling stock. Mirrored from https://gs1-epcis-reg.org/rail/; namespace stays at https://gs1-epcis-reg.org/rail/voc/data#. Bridged to dpp-core via rail-bridge-context.jsonld.

https://gs1-epcis-reg.org/rail/voc/data#

How They Fit Together

We've organized the vocabularies in a layered architecture where domain-specific modules extend the core. This is our proposal for how patterns could be shared and reused:

flowchart BT
  subgraph Domain ["Region-scoped domain modules"]
    direction LR
    subgraph EU ["eu/"]
      battery["battery:<br/>EU Battery Regulation 2023/1542"]
      eudr["eudr:<br/>EU Deforestation Regulation 2023/1115"]
      textile["textile:<br/>EU Sustainable Textiles Strategy"]
      electronics["electronics:<br/>ESPR Electronics Acts"]
      detergent["detergent:<br/>EU Detergents Regulation 2026/405"]
    end
    subgraph US ["us/"]
      fsma["fsma204:<br/>FDA FSMA §204 Food Traceability Rule"]
    end
  end
  subgraph Common ["common/ — cross-jurisdictional shared layer"]
    direction LR
    core["core:<br/>ESPR-aligned shared DPP patterns (dpp:)"]
    interop["interop:<br/>UNTP / CIRPASS-2 / JTC 24 /<br/>BatteryPass bridge contexts"]
  end
  subgraph GS1 ["GS1 Web Vocabulary (gs1:)"]
    gs1["Products, organizations,<br/>places, measurements"]
  end
  Domain -- extends --> Common
  Common -- extends --> GS1
  classDef layer fill:#f8fafc,stroke:#64748b,color:#0f172a;
  class Domain,Common,GS1 layer;

This means a battery DPP uses battery: terms for battery-specific data, dpp: terms for shared patterns like operator info, and gs1: terms for standard product attributes.

Try It Out

Want to experiment with these vocabularies? Here's one way to get started:

1. Import the JSON-LD Context

Add the context to your JSON-LD documents to use the vocabulary terms:

{
  "@context": [
    "https://ref.openepcis.io/extensions/common/core/dpp-core-context.jsonld",
    "https://ref.gs1.org/standards/epcis/epcis-context.jsonld",
    "https://ref.openepcis.io/extensions/eu/battery/battery-context.jsonld"
  ]
}

2. Declare EPCIS Extensions

Add the GS1-Extensions header to EPCIS capture/query requests:

POST /capture HTTP/1.1
Content-Type: application/ld+json
GS1-Extensions: dpp=https://ref.openepcis.io/extensions/common/core/, battery=https://ref.openepcis.io/extensions/eu/battery/

Why every module owns a named extension

The GS1-Extensions header is the switch that turns on regulation-specific behaviour in an OpenEPCIS EPCIS Repository.

EPCIS 2.0 §12.3 defines the GS1-Extensions HTTP header as a comma-separated list of prefix=namespace-URI pairs, carried on every capture and query request:

POST /capture HTTP/1.1
Content-Type: application/ld+json
GS1-Extensions: dpp=https://ref.openepcis.io/extensions/common/core/,
                eudr=https://ref.openepcis.io/extensions/eu/eudr/,
                fsma=https://ref.openepcis.io/extensions/us/fsma204/

An OpenEPCIS EPCIS Repository reads that header and uses the declared extensions to:

  • Activate regulation-specific validation. The repository dispatches to the matching JSON Schema and SHACL shapes under each namespace's validation/ artefacts in addition to the base EPCIS validation.
  • Enable regulation-specific query shortcuts — e.g. "every Critical Tracking Event for this Traceability Lot Code" (FSMA 204) or "every Due Diligence Statement reference for this GTIN" (EUDR).
  • Resolve extension-namespaced master data.gs1:masterDataAvailableFor blocks referring to eudr: or fsma: properties are resolved against the correct ontology.
  • Attach a conformance profile to events at rest. Stored events remember which extensions were declared at capture time, so downstream readers can re-materialise the right context.

Owning the namespace is also valuable in its own right: the URI is the resolvable location of the TTL, JSON-LD context, JSON Schema, and SHACL shapes; it is stable, dated, and Apache-2.0 licensed; and it gives a concrete anchor to re-map via owl:equivalentProperty when GS1 eventually publishes a canonical term.

This is why each regulatory module — even the FSMA 204 module that contributes just one property and one enum on top of the GS1 US EPCIS guide — registers its own https://ref.openepcis.io/extensions/… namespace. Source: common/core/docs/GS1_EXTENSIONS_HEADER.md .

Content Negotiation

All extension URIs support content negotiation. Request different formats using the Accept header:

  • Accept: text/html - HTML browser interface (default)
  • Accept: text/turtle - Turtle/TTL format
  • Accept: application/ld+json - JSON-LD context

Example Requests

# Get Battery vocabulary as Turtle
curl -H "Accept: text/turtle" https://ref.openepcis.io/extensions/eu/battery/

# Get JSON-LD context
curl -H "Accept: application/ld+json" https://ref.openepcis.io/extensions/eu/battery/

# Get a specific term definition
curl -H "Accept: text/turtle" https://ref.openepcis.io/extensions/eu/battery/Battery

Learn More