
Advantages of modeling DPPs using ontologies
Representing Digital Product Passports as has the following advantages over traditional, non-semantic representations of product data such as spreadsheets or relational databases:- Enables semantic interoperability across systems and sectors
- Ensures machine-readable, standardized representation of product data
- Enables validation of data consistency and structure using ontology constraints
- Facilitates data linking and reuse across the product lifecycle
- Provides high-quality, semantically rich data that improves AI reasoning and analytics
- Linking material, supplier, and recycling data in a DPP graph allows AI to trace component origins, identify environmental impacts, and recommend sustainable design choices with explainable reasoning
Review of existing ontologies
| UNTP DPP | RePlanIT | LiUSemWeb DPPO | |
|---|---|---|---|
| Link to ontology | https://jargon.sh/user/unece/untp-core/v/0.6.0/artefacts/readme/render | https://kind.io.tudelft.nl/replanit/docs/ | https://github.com/LiUSemWeb/DPPO/tree/dev/ontology https://liusemweb.github.io/DPPO/pdf/DPP_Ontology_Network.pdf |
| Production ready? | On their website they have a not that the it is under development and is not ready for implementation (link) | The prototype was tested with gemeente Amsterdam and Rijkswaterstaat, after which gemeente Amsterdam changed their ICT hardware policy: procured laptops must now be suitable for use for six years. (link) | Used by recycling company Ragn-Sells AB (see paper link ) |
| Domain | no specific domain, should cover any product | ICT hardware — specifically laptops, data servers, and related electronic components | no specific domain, should cover any product |
| How are sub-Products defined? | No direct link to sub-Products. Indirect: via AssociationEvent or TransformationEvent | via hasComponent and hasMaterialComposition relations | via hasPart relation (domain and range are not explicitly provided) |
| Relations to and properties of Material | Product is related to Material via materialProvenance, which is an array of Provenance objects providing details on the origin and mass fraction of components or ingredients of the product batch. | hasMaterialCompoition relates ICT device, Hardware and Packaging to Material concept. The Matrial class has different EoL recycled materials as properties. | There is a class Material, however I cannot find any explicit properties. In their ontology Material is a subclass |
| How is the CO2 emission is defined? | A Product has the emissionScoreCard; see in TriplyDB | The property is defined directly on the Product: CarbonFootprint (Manufacturing, Use, Distribution) ane etc. | emission values are not modeled |
| Ontology/Vocabulary for Units of Measurments? | Code values from https://vocabulary.uncefact.org/UnitMeasureCode# | QUDT | not clear |
| LCA methods defined / formalized | No Calculation rules. ReportingStandard property links the carbon footprint data to the methodology or standard used for the measurement or calculation. | Provides the emission per stage (manufacturing, distributions). No calculation rules | nan |
| Concepts that are important and we miss in our ontology | ProductPassport | DigitalProductPassport | DPP |
Digital Product Passport Ontology
Proposed Digital Product Passport Ontology
The Digital Product Passport (DPP) model is built around the Product. Each product has key properties such as weight, height, width, and other physical or descriptive characteristics. A product is linked to the organization that produces it and may also have one or more certifications.
Products can consist of one or more components. For each component, the quantity and the product it represents are recorded. This allows detailed information about the properties of the component itself to be linked within the DPP.
Here is the example of the Data Model for the Digital Product Passport:
How do you add product data in your environment?
CSV upload
Template explanation
To simplify publishing, we've prepared an Excel (XLSX) template with all the necessary fields to create Linked Data for your products. The Excel file can be downloaded as an asset in Linked-Data-Tutorial/DPP.
Each row in the file represents a unique component of a product. A product can appear in multiple rows if it consists of different components.
You only need to re-enter the product's identifying information (such as name, serial number, and GTIN)—all other product data will be linked automatically.
For each measurement, enter both the measured value and the unit. The "Unit" column contains a dropdown list of predefined units (e.g., cm, kg). If your unit isn't listed, please let us know so we can add it.
| product_name | product_gtin | product_serial_number | product_model | product_weight | product_weight_unit | ... | component_name | component_serial_number | component_quantity | component_quantity_unit |
|---|---|---|---|---|---|---|---|---|---|---|
| Dopper Bottle | 123456 | 3852794160 | Dopper Bottle 2025 | 101 | g | Body in Bottle | 2741609385 | 1 | item | |
| Dopper Bottle | 123456 | 3852794160 | Dopper Bottle 2025 | Cap in Bottle | 4960317285 | 1 | item | |||
| Dopper Bottle | 123456 | 3852794160 | Dopper Bottle 2025 | Cup in Bottle | 5074189623 | 1 | item | |||
| Body in Bottle | 334343 | 2741609385 | Dopper Body 2025 | 70 | g | Circulen Renew in Body | 1628407953 | 500 | g |
Explanation of the table:
-
Each row represents a unique component of the same product (Dopper Bottle).
-
The identifying product data (name, GTIN, serial, etc.) is repeated so that each row can be interpreted independently.
-
The ... column indicates that the actual Excel file contains additional fields (such as sustainability information, certifications, or origin data) that have been omitted from this simplified example.
The component_name, component_quantity, and component_quantity_unit columns describe which component is used and in what quantity.
Note:
-
Row 1: Dopper Bottle (main product) has the component Body in Bottle with component_serial_number = 2741609385.
-
Row 4: Body in Bottle appears as a separate product with product_serial_number = 2741609385.
This similarity in serial numbers allows the hierarchy to be built automatically.
Mapping workflow
Instructions
Complete the following step to publish your product data:
- Fill in the template and export it as CSV
- Upload the CSV file to the source dataset within your organization
- Enter the correct variables in the query below: your organization's name, the sourceDatasetName (the dataset where the CSV file is stored), and the destinationDatasetName (the dataset where the published data will be stored).
- When you then click the Publish button, a dialog box will appear. In this dialog box, you can verify that your organization's name and source dataset are entered correctly. The dialog box also shows which organization and dataset will be used as the destination (output).
See the Knowledge Graph
Data Editor/Viewer
Go to the Editor View in your organization.
Using the + CREATE button, you can add a new description for a Product using a form. Click on it to fill in the properties.
Not all properties are simple values; for some, you need to create a new entity. For example, when you add the weight of a product, you need to create a new qudt:QuantityValue. You can choose an existing value or scroll down to create a new entity. You will be redirected to fill in the properties for qudt:QuantityValue.
For the unit, you can choose from the existing QUDT Units—start typing the desired unit, and all matching options will appear.
Data Validation
We can validate the imported data using the SHACL validation endpoint through an API call.
curl "https://api.data.pldn.nl/datasets/Linked-Data-Tutorial/DigitalProductPassport/shacl-validation"
Validation results
Futurework: Use the EU DPP Core Ontology
CIRPASS is a European initiative developing a framework and ontology for Digital Product Passports to support product traceability, circular economy goals, and compliance with EU sustainability regulations.