OpenEPCIS DPP Extensions

Browsable documentation and downloadable artefacts for 11 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.

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.io/extensions/eu/battery/

# JSON-LD context
curl -H "Accept: application/ld+json" https://ref.openepcis.io/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.