OpenEPCIS DPP Extensions

Browsable documentation and downloadable artefacts for 15 OpenEPCIS Digital Product Passport extension vocabularies. We ingest the upstream standards in whatever form they publish, normalize and cross-align them with a local open-source AI pipeline, and serve the result here in every format.

How this reference is built

From scattered upstream vocabularies to one consistent, machine-readable reference.

1 · Ingest

Pull each upstream vocabulary, whatever depth it ships in, and re-publish it in every format: JSON-LD context, JSON Schema, ontology TTL and SHACL.

2 · Normalize

A local, open-source LLM pipeline aligns our terms to the upstream vocabularies by meaning, and records a QA confidence for every mapping.

3 · Publish & browse

Everything is generated from the canonical TTL and served here: browsable, searchable, deep-linked, and downloadable in all four formats.

Extension modules

15 regulation-aligned vocabularies. Open one to browse its classes, properties and alignments.

DPP Core

Cross-jurisdictional core vocabulary for Digital Product Passports (v0.9.7). ESPR-compliant.

Data Carrier Authentication

Metadata about the physical data carrier of a serialised GS1 identifier.

Battery DPP

Vocabulary for EU Battery Regulation (2023/1542) Digital Product Passports (v0.9.7). Covers battery chemistry.

EUDR

Vocabulary for EU Deforestation Regulation (2023/1115) compliance (v0.9.7). Covers geolocation.

Textile DPP

Vocabulary for EU Sustainable Textiles Strategy and ESPR (v0.9.7). Covers fiber composition.

Electronics DPP

Vocabulary for ESPR Electronics delegated acts (v0.9.7). Covers French Repairability Index.

Detergent DPP

Vocabulary for EU Detergents Regulation 2026/405 (v0.9.7). Covers INCI ingredients.

PPWR DPP

Vocabulary for the EU Packaging and Packaging Waste Regulation 2025/40 (v0.9.7). Intentionally thin — only packaging-specific concepts (Packaging.

CPR DPP

Vocabulary for the revised EU Construction Products Regulation 2024/3110 (v0.9.7). Intentionally thin — only construction-specific concepts (ConstructionProduct.

Iron & Steel DPP

Vocabulary for the iron & steel ESPR priority product group.

FSMA 204

Vocabulary for the U.S. FDA Food Safety Modernization Act §204 Final Rule on Food Traceability.

GS1 Rail

GS1 Rail Vocabulary v1.6 — sectoral Layer-1 vocabulary published by GS1 AISBL with GS1 Switzerland. Covers WTMS sensor metadata.

CIRPASS-2 EUDPP Core Ontology

EUDPP Core Ontology v2.1.0 (October 2026) — the CIRPASS-2 pilot programme's EU DPP data model (TalTech).

CIRPASS-2 Textile Ontology

CIRPASS Textile Ontology 1.1.2 — the CIRPASS-2 sectoral extension for textile passports.

CIRPASS-2 EU DPP Battery Ontology

EU DPP Battery Ontology 0.4.0 DRAFT — the CIRPASS-2 sectoral extension for battery passports under Regulation (EU) 2023/1542 (Apache 2.0). Umbrella https://w3id.org/eudpp/battery# with thematic modules (performance.

Every format, for the best precision

Upstream vocabularies differ in depth. We level them up so you never lose semantics.

Some upstream standards publish a full OWL/Turtle ontology; others ship only a JSON-LD @context, and a few are little more than a code list. Rather than inherit those gaps, every OpenEPCIS module is published in all four artefacts, each doing a different job:

JSON-LD context

Maps your JSON keys to stable IRIs so a plain document becomes Linked Data.

JSON Schema

Validates shape and data types for everyday API and integration tooling.

Ontology (OWL/TTL)

The canonical source: classes, properties, hierarchy and cross-vocabulary alignment.

SHACL shapes

Enforces regulatory constraints (required fields, cardinalities, value ranges).

Every term URI also supports content negotiation, so the same address serves the format you ask for:

# Turtle / OWL
curl -H "Accept: text/turtle" https://ref.openepcis.org/extensions/eu/battery/

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

Normalized with a local, open-source AI pipeline

How thousands of cross-vocabulary alignments are proposed and checked.

Connecting our terms to the upstream vocabularies (GS1, the EU SEMIC Core Vocabularies, schema.org, UNTP, DPP Keystone) is thousands of fine-grained judgement calls. We automate most of it with a small command-line pipeline built on Quarkus and LangChain4j that runs entirely on local hardware with open models, so nothing leaves the machine and a full run costs nothing.

vocab-sync pipeline: our TTLs and upstream vocabularies feed Apache Jena term indexes; embed and retrieve top-K per vocab feed an LLM grader, then a diff against the SKOS in the TTL produces completeness reports, then gated apply writes TTL edits.vocab-sync pipeline: our TTLs and upstream vocabularies feed Apache Jena term indexes; embed and retrieve top-K per vocab feed an LLM grader, then a diff against the SKOS in the TTL produces completeness reports, then gated apply writes TTL edits.
  1. Read both sides — our ontology and each upstream vocabulary are loaded into a common term model.
  2. Match by meaning — text embeddings narrow millions of possible pairs down to the plausible ones.
  3. Grade each pair — a language model proposes the precise relationship (same as, broader than, narrower than, related, or no match).
  4. Double-check — a second, stronger model re-judges each proposal as a blind panel and records a confidence; a person signs off before anything is published.

The mappings are stored as standard graded SKOS in the ontology; the models and confidence behind each one are kept as an auditable trail.

Browse, search, and trust the mappings

What the processed vocabularies turn into on this site.

  • Navigate by region and regulation module down to each class and property, with its definition, domain/range, and where it is used.
  • Search across every term, example and reference vocabulary from one box.
  • Cross-vocabulary alignment on each term, with deep links straight to the matching term in GS1, schema.org, SEMIC, UNTP or DPP Keystone.
  • QA confidence shown on each AI-graded mapping (e.g. “· QA 92%”), with the bulk and verifier models named, so you can see how every alignment was decided.