The Digital Product Passport (DPP) is a European initiative designed to manage, collect, and share product related information (such as its composition) to promote product sustainability and circularity. Its goals include accelerating the transition to a circular economy, enhancing material and energy efficiency, extending product lifespans, and optimizing design, manufacturing, usage, and end-of-life processes [1].
One of the key requirements of the DPP initiative is to ensure secure and reliable data sharing, which can be achieved through the use of a DPP Data Space. The International Data Spaces (IDS) provides a set of guidelines, documents, and protocols for building IDS-compliant Data Spaces. However, a significant challenge in designing such a Data Space is ensuring interoperability. Specifically, semantic interoperability is crucial for effective data exchange within these Data Spaces.
In a Data Space, it is necessary for both data providers and consumers to express their data using a common vocabulary. Otherwise, the receiving party may encounter difficulties integrating the received data. To address this issue of semantic interoperability, both IDS and GAIA-X proposes the definition of a declarative representation of domain-specific concepts through a Vocabulary defined using machine-readable schemas such as RDF Schema. The Vocabulary provides a normative view of the information model, with the goal of reusing this vocabulary wherever possible to foster acceptance and interoperability.
We will be discussing how to contribute to ensuring semantic interoperability for a DPP Data Space at the Workshop on Semantic Interoperability in Data Spaces 2024. Specifically, we will present our contribution regarding:
- A foundational data structural model that represents the DPP ecosystem. This model abstracts the essential information of the DPP that must be collected at each phase of the product lifecycle.
- We implemented this data structural model using the BESSER low-code platform and developed a code generator to produce the declarative representation of the structural model. Specifically, using BESSER we generate a first version of the Vocabulary in RDF Turtle format.
- We used BESSER to demonstrate how a DPP infrastructure can be rapidly generated by producing the code to deploy a web application for the DPP ecosystem.
Contents
Modeling the DPP data ecosystem
We have defined a foundational data schema model (see Figure 1) that abstracts the essential concepts, drawing inspiration from proposals and initiatives in this direction, such as the European Commission’s ESPR proposal, which suggests a list of DPP data requirements; some survey studies [2]; and the Luxembourgish proposal Product Circularity DataSheet (PCDS), an initiative to develop a globalized open-source industry standard to facilitate the exchange of standardized data throughout the supply cycle.
The core concept of the DPP structural model (Figure 1) is the ProductPassport, representing a product’s DPP. A ProductPassport includes essential identification attributes (such as UID, GTIN, product name, product code, and brand), along with the DataCarrier, which denotes the technology enabling access to the DPP. Information regarding the product’s chemical composition, hazards, and recycled materials is delineated by the Chemical, Hazard, and RecycledMaterial classes (sourced from PCDS [3]).
In this model, we consider six stages within a product’s lifecycle: Design, Use (which can also register Reparations), Manufacturing, Collection, Distribution, and Recycle. These stages inherit from LifecycleStage in the model, allowing for various aspects to be specified for each (the following are relationships of the LifeycleStage class in the model):
- environmental_impacts: this relationship enables the specification of a range of values and resource consumption across different stages of the product’s lifecycle. For instance, quantifying the water usage during the manufacturing phase.
- materials: each stage allows for the specification of the type and quantity of materials utilized. For example, detailing the raw materials employed in the product’s manufacturing process.
- companies: at every stage, the associated companies or entities responsible can be designated. For instance, to indicate the company responsible for product distribution.
- issuer : each stage’s information is created by and attributed to a responsible party, such as a manufacturing employee, a state regulation reviewer, or any other authorized person. This issuer relationship allows to specify this responsible person.
Generating the Vocabulary for the Data Space
In any Data Space, the use of standardized terms to describe data, services, contracts, and other components is necessary to meet interoperability requirements. These standardized terms can be expressed in a vocabulary document and must be shared with all parties. According to IDS, this vocabulary must be machine-readable (e.g., in RDF Turtle format) and available in a Vocabulary Hub to collaboratively work on their definition and documentation. To produce a first version of this vocabulary, we have developed a code generator in BESSER, as discussed below.
BESSER provides a set of code generators for different technologies such as SQL, Django, FastAPI, etc. Additionally, it allows for the development of custom code generators for specific needs. In our case, we developed a new code generator to produce the vocabulary for any structural data model, not just for DPP. Our code generator can create a first version of the Vocabulary specification in RDF Turtle format, which can then be refined or updated by system designers or domain experts. This vocabulary, generated in RDF format as recommended by the IDSA, facilitates efficient sharing and integration of information, thereby improving semantic interoperability.
Our RDF code generator uses the Jinja template-based engine to dynamically produce classes and properties, taking as input the DPP structural model (shown in Figure 1) implemented in BESSER. Figure 2 shows an excerpt of the RDF content produced by the code generator for the DPP structural model. This vocabulary contains the definition of:
- the prefixes that simplify the use of URIs in the RDF data,
- the classes representing categories or types (such as LifecycleStage and ProductPassport),
- the properties describing attributes or characteristics of the classes. For example, the property ex:start_date is defined for the LifecycleStage class, with its value being a dateTime,
- Finally, the relationships between classes, which are also represented as properties. These relationships define how different classes are related to each other. For instance, ex:issuer is a property that links LifecycleStage to Person.
In the DPP Data Space, vocabularies are essential for ensuring semantic interoperability. Data providers must either publish a new vocabulary or use an existing one to describe their datasets. This vocabulary is then used to validate data during transactions. Data consumers use this vocabulary to implement the necessary interfaces for receiving and validating the data, ensuring it meets the expected standards. This process helps in maintaining consistent and effective data exchange across different participants.
Using BESSER to generate a DPP application
To validate our structural data model and provide an infrastructure that enables the instantiation of concepts defined in the Vocabulary, we leveraged low-code development.
Low code development is gaining significant attention in both industry and academia due to its ability to accelerate software development. Low-code tools can generate parts of the application code from a model that describes the domain. For example, BESSER offers a modeling language (B-UML) to design various types of models and utilizes code generators to support different stages of the software lifecycle. With BESSER, you can specify models to define the structural data schema, deployment, graphical user interface, OCL constraints, and more.
As mentioned before, we implemented the DPP model shown in Figure 1 as a structural model in BESSER. We utilized the Django Code Generator to support the development of a web application. However, BESSER supports various code generators that can be utilized to produce code suitable for integration of the data model into different development infrastructures. For instance, Python or Java code generators can create data models that facilitate the easy instantiation of the DPP structural model in compliance with the Vocabulary. This approach parallels the concept of Programmatic Representation for the IDS information model.
The Django code generator can produce the code for the model layer of the web application, which defines the structure and management of data in a relational database, including CRUD operations for the entities or classes defined in the DPP structural model. Figure 3 shows the graphical user interface of the web app to create a product passport. The left panel contains the list of structural model concepts (such as the lifecycle stages of a product), while the right side displays the form for creating a new product passport.
Summary
The DPP European initiative aims to enhance the circular economy and reduce the environmental impact of waste and consumerism. However, challenges remain in its implementation. One major concern is ensuring semantic interoperability to facilitate effective data exchange, particularly within a DPP Data Space. To address this, we have developed a structural data schema for the DPP ecosystem and a code generator that creates Vocabulary in a machine-readable RDF format. We implemented our schema and code generator using BESSER, a low-code platform for smart software, to demonstrate how quickly the DPP infrastructure can be created and deployed with a low-code tool like BESSER.
As part of our future work, we plan to enhance our RDF code generator to produce vocabularies that can both reuse and map to existing metadata vocabularies, such as the IDS Information Model. Additionally, we aim to incorporate new concepts (e.g., Contracts and Policies) and properties (e.g., description), to further extend the functionality and interoperability of the generated vocabularies.
References
- Walden, J., Steinbrecher, A., & Marinkovic, M. (2021). Digital product passports as enabler of the circular economy. Chemie Ingenieur Technik, 93(11), 1717-1727.
- Jensen, S. F., Kristensen, J. H., Adamsen, S., Christensen, A., & Waehrens, B. V. (2023). Digital product passports for a circular economy: Data needs for product life cycle decision-making. Sustainable Production and Consumption, 37, 242-255.
- Mulhall, D., Ayed, A. C., Schroeder, J., Hansen, K., & Wautelet, T. (2022). The product circularity data sheet—A standardized digital fingerprint for circular economy data about products. Energies, 15(9), 3397.
Recent Comments