diff --git a/backend/src/main/java/org/eclipse/tractusx/semantics/ApiExceptionHandler.java b/backend/src/main/java/org/eclipse/tractusx/semantics/ApiExceptionHandler.java index 1802ed18..91501b7e 100644 --- a/backend/src/main/java/org/eclipse/tractusx/semantics/ApiExceptionHandler.java +++ b/backend/src/main/java/org/eclipse/tractusx/semantics/ApiExceptionHandler.java @@ -132,4 +132,12 @@ public ResponseEntity handleInvalidStateTransitionException( fina .path( request.getRequestURI() ) ), HttpStatus.BAD_REQUEST ); } + @ExceptionHandler( org.apache.jena.atlas.web.HttpException.class ) + public ResponseEntity handleHttpException( final HttpServletRequest request, final org.apache.jena.atlas.web.HttpException httpException ) { + return new ResponseEntity<>( new ErrorResponse() + .error( new Error() + .message( httpException.getResponse() ) + .path( request.getRequestURI() ) ), HttpStatus.BAD_REQUEST ); + } + } diff --git a/backend/src/test/java/org/eclipse/tractusx/semantics/hub/ModelsApiTest.java b/backend/src/test/java/org/eclipse/tractusx/semantics/hub/ModelsApiTest.java index 839fa611..19563e3b 100644 --- a/backend/src/test/java/org/eclipse/tractusx/semantics/hub/ModelsApiTest.java +++ b/backend/src/test/java/org/eclipse/tractusx/semantics/hub/ModelsApiTest.java @@ -914,6 +914,48 @@ public void testDependentModelBAMM() throws Exception { .andExpect( status().isOk() ); } + @Test + public void testInvalidDependentModelBAMMModel() throws Exception { + + //Given + mvc.perform( postBAMM( TestUtils.getTTLFile( "ContactInformation-2.0.0.ttl" ), "DRAFT" ) ) + .andDo( MockMvcResultHandlers.print() ) + .andExpect( status().isOk() ); + mvc.perform( postBAMM( TestUtils.getTTLFile( "Pcf-3.0.0.ttl" ), "DRAFT" ) ) + .andDo( MockMvcResultHandlers.print() ) + .andExpect( status().isOk() ); + + mvc.perform( postBAMM( TestUtils.getTTLFile( "PhysicalDimensions-2.0.0.ttl" ), "DRAFT" ) ) + .andDo( MockMvcResultHandlers.print() ) + .andExpect( status().isOk() ); + + mvc.perform( postBAMM( TestUtils.getTTLFile( "SerialPartTypization-2.0.0.ttl" ), "DRAFT" ) ) + .andDo( MockMvcResultHandlers.print() ) + .andExpect( status().isOk() ); + + //When & Then + mvc.perform( postBAMM( TestUtils.getTTLFile( "TransmissionPass.ttl" ), "DRAFT" ) ) + .andDo( MockMvcResultHandlers.print() ) + .andExpect( status().isBadRequest() ) + .andExpect( jsonPath( "$.error.message", containsString("Bad IRI" ) ) ); + } + + + @Test + public void testInvalidSAMMModel() throws Exception { + //Given + mvc.perform( MockMvcRequestBuilders.post( "/api/v1/models" ) + .queryParam( "type", "SAMM" ) + .queryParam( "status", "DRAFT" ) + .accept( MediaType.APPLICATION_JSON ) + .contentType( MediaType.TEXT_PLAIN ) + .content( TestUtils.getTTLFile( "DigitalProductPassport-samm.ttl" ) ) + .with( jwtTokenFactory.allRoles() ) ) + .andDo( MockMvcResultHandlers.print() ) + .andExpect( status().isBadRequest() ) + .andExpect( jsonPath( "$.error.message", containsString( "Bad IRI" ) ) ); + } + private static String toMovementUrn(String urn){ return urn + "Movement"; } diff --git a/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/ContactInformation-2.0.0.ttl b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/ContactInformation-2.0.0.ttl new file mode 100644 index 00000000..5e35b19d --- /dev/null +++ b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/ContactInformation-2.0.0.ttl @@ -0,0 +1,105 @@ +####################################################################### +# Copyright (c) 2023 Robert Bosch Manufacturing Solutions GmbH +# Copyright (c) 2023 T-Systems International GmbH +# Copyright (c) 2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This work is made available under the terms of the +# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, +# which is available at +# https://creativecommons.org/licenses/by/4.0/legalcode. +# +# SPDX-License-Identifier: CC-BY-4.0 +####################################################################### + +@prefix bamm: . +@prefix bamm-c: . +@prefix bamm-e: . +@prefix unit: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix : . + +:ContactCharacteristic a bamm:Characteristic; + bamm:name "ContactCharacteristic"; + bamm:preferredName "Contact Characteristic"@en; + bamm:description "Characteristic describing information on how to contact an organization"@en; + bamm:dataType :ContactEntity . +:ContactEntity a bamm:Entity; + bamm:name "ContactEntity"; + bamm:preferredName "Contact Entity"@en; + bamm:description "Entity to bundle the properties for the information on how to contact an organization"@en; + bamm:properties ([ + bamm:property :website; + bamm:optional "true"^^xsd:boolean +] [ + bamm:property :phoneNumber; + bamm:optional "true"^^xsd:boolean +] [ + bamm:property :email; + bamm:optional "true"^^xsd:boolean +] [ + bamm:property :faxNumber; + bamm:optional "true"^^xsd:boolean +]) . +:contactProperty a bamm:Property; + bamm:name "contactProperty"; + bamm:preferredName "Contact Property"@en; + bamm:description "Property describing contact information for an organization"@en; + bamm:characteristic :ContactCharacteristic . +:WebsiteCharacteristic a bamm:Characteristic; + bamm:name "WebsiteCharacteristic"; + bamm:preferredName "website"@en; + bamm:description "Address of the website"@en; + bamm:dataType xsd:anyURI. +:website a bamm:Property; + bamm:name "website"; + bamm:preferredName "website"@en; + bamm:description "Website of the contact."@en; + bamm:characteristic :WebsiteCharacteristic; + bamm:exampleValue "https://www.samsung.com"^^xsd:anyURI. +:phoneNumber a bamm:Property; + bamm:name "phoneNumber"; + bamm:preferredName "phone number"@en; + bamm:description "Phone number with country and area code"@en; + bamm:characteristic :PhoneNumberTrait; + bamm:exampleValue "+49 89 1234567890". +:email a bamm:Property; + bamm:name "email"; + bamm:preferredName "email"@en; + bamm:description "An email address"@en; + bamm:characteristic :EMailTrait; + bamm:exampleValue "test.mail@example.com". +:faxNumber a bamm:Property; + bamm:name "faxNumber"; + bamm:preferredName "faxNumber"@en; + bamm:description "Fax number with country and area code"@en; + bamm:characteristic :PhoneNumberTrait; + bamm:exampleValue "+49 89 0987654321". +:ContactInformation a bamm:Aspect; + bamm:name "ContactInformation"; + bamm:properties (:contactProperty); + bamm:operations (); + bamm:preferredName "Contact information"@en; + bamm:description "Entity encapsulating the contact details"@en; + bamm:see . +:PhoneNumberTrait a bamm-c:Trait; + bamm:name "PhoneNumberTrait"; + bamm-c:baseCharacteristic bamm-c:Text; + bamm-c:constraint :PhoneNumberConstraint. +:PhoneNumberConstraint a bamm-c:RegularExpressionConstraint; + bamm:name "PhoneNumberConstraint"; + bamm:description "Constraint to allow only numbers, whitespaces and an optional leading + sign."@en; + bamm:preferredName "PhoneNumberConstraint"@en; + bamm:value "^[+]?[0-9 ]+$". +:EMailTrait a bamm-c:Trait; + bamm:name "SupplierMailTrait"; + bamm-c:baseCharacteristic bamm-c:Text; + bamm-c:constraint :EMailConstraint. + :EMailConstraint a bamm-c:RegularExpressionConstraint; + bamm:name "EMailConstraint"; + bamm:value "^[a-zA-Z0-9.!#$%&’*+\\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$"; + bamm:description "Regular expression for mail address as defined in W3C (see https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address)"@en. diff --git a/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/DigitalProductPassport-samm.ttl b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/DigitalProductPassport-samm.ttl new file mode 100644 index 00000000..56f1c3d2 --- /dev/null +++ b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/DigitalProductPassport-samm.ttl @@ -0,0 +1,1228 @@ +####################################################################### +# Copyright (c) 2023 ZF Friedrichshafen AG +# Copyright (c) 2023 BMW AG +# Copyright (c) 2023 BASF Coatings GmbH +# Copyright (c) 2023 Henkel AG & Co. KGaA +# Copyright (c) 2023 CGI Deutschland B.V. & Co. KG +# Copyright (c) 2023 SAP Deutschland SE & Co.KG +# Copyright (c) 2023 T-Systems International GmbH +# Copyright (c) 2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This work is made available under the terms of the +# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, +# which is available at +# https://creativecommons.org/licenses/by/4.0/legalcode. +# +# SPDX-License-Identifier: CC-BY-4.0 +####################################################################### + +@prefix samm: . +@prefix samm-c: . +@prefix samm-e: . +@prefix unit: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix : . + +:DigitalProductPassport a samm:Aspect ; + samm:preferredName "Digital Product Passport"@en ; + samm:description "The Digital Product Passport (DPP) allows to share process and product-related information amongst supply chain businesses, authorities and consumers. The DPP allows for efficient information flows following best practices; and the possibility of accompanying the measures under this Regulation with mitigating measures so that impacts are expected to remain proportionate for SMEs.This is expected to increase transparency, both for supply chain businesses and for the general public, and increase efficiencies in terms of information transfer to support the data exchange between economic actors in integrating circularity in product design and manufacturing.\nIn particular, it is likely to help facilitate and streamline the monitoring and enforcement of the regulation carried out by EU and Member State authorities. It is also likely to provide a market-intelligence tool that may be used for revising and refining obligations in the future.\nThe DPP includes data about components, materials and chemical substances, information on repairability, spare parts, environmental impact and professional disposal for a product.\nThe data model will be updated, as newer versions of the regulation will be published.\nThis data model is based on the proposed Ecodesign Regulation (\"Proposal for a REGULATION OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL establishing a framework for setting ecodesign requirements for sustainable products and repealing Directive 2009/125/EC\" ESPR from March 30th, 2022 with some additional data points which can be found in the adopted Amendments from July 12th 2023 (Amendments adopted by the European Parliament on 12 July 2023 on the proposal for a regulation of the European Parliament and of the Council establishing a framework for setting eco-design requirements for sustainable products and repealing Directive 2009/125/EC)."@en ; + samm:see ; + samm:see ; + samm:see ; + samm:see ; + samm:properties ( :metadata :typology :handling :sustainability :characteristics :commercial :operation :identification :sources [ samm:property :additionalData; samm:optional true ] ) ; + samm:operations ( ) ; + samm:events ( ) . + +:metadata a samm:Property ; + samm:preferredName "Metadata"@en ; + samm:description "Metadata of the product passport regarding issue and expiration date, version, status and the economic operator. These are mentioned in the ESPR proposal from March 30th, 2022 and some changed by the amendments of the European Parliament from July 12th, 2023 Article 8:\n(2) (h) the period during which the product passport shall remain available which shall correspond to at least the expected lifetime of a specific product.\nAdditionally Annex III mentions:\n(g) information related to the manufacturer, such as its unique operator identifier and the information referred to in Article 21(7);\n(h) unique operator identifiers other than that of the manufacturer;\n(k) the [...] unique operator identifier code of the economic operator established in the Union responsible for carrying out the tasks set out in Article 4 of Regulation (EU) 2019/1020, or Article 15 of Regulation (EU) [?/?] on general product safety, or similar tasks pursuant to other EU legislation applicable to the product."@en ; + samm:characteristic :MetadataCharacteristic . + +:typology a samm:Property ; + samm:preferredName "Typology"@en ; + samm:description "Properties further describing the product type."@en ; + samm:characteristic :TypologyCharacteristic . + +:handling a samm:Property ; + samm:preferredName "handling"@en ; + samm:description "Properties connected with the handling of the product."@en ; + samm:characteristic :HandlingCharacteristic . + +:sustainability a samm:Property ; + samm:preferredName "sustainability"@en ; + samm:description "Properties which are relevant for the sustainability of the product."@en ; + samm:characteristic :SustainabilityCharacteristic . + +:characteristics a samm:Property ; + samm:preferredName "Characteristics"@en ; + samm:description "Defines specific characteristics of a product."@en ; + samm:characteristic :Characteristics . + +:commercial a samm:Property ; + samm:preferredName "Commercial"@en ; + samm:description "Commercial information of the product."@en ; + samm:characteristic :CommercialCharacteristic . + +:operation a samm:Property ; + samm:preferredName "Operation"@en ; + samm:description "Operational information of the product."@en ; + samm:characteristic :OperationCharacteristic . + +:identification a samm:Property ; + samm:preferredName "Identification"@en ; + samm:description "Identification information of the product, especially identifiers and codes."@en ; + samm:characteristic :IdentificationCharacteristic . + +:sources a samm:Property ; + samm:preferredName "Sources"@en ; + samm:description "Documents which are mandatory if applicable for the product. These are mentioned in the ESPR proposal from March 30th, 2022 ANNEX III:\n(e) compliance documentation and information required under this Regulation or other Union law applicable to the product, such as the declaration of conformity, technical documentation or conformity certificates;\n(f) user manuals, instructions, warnings or safety information, as required by other Union legislation applicable to the product.\nAdditionally requirements are mentioned in Article 21:\n(7) Manufacturers shall ensure that that a product covered by a delegated act adopted pursuant to Article 4 is accompanied by instructions that enable consumers and other end-users to safely assemble, install, operate, store, maintain, repair and dispose of the product in a language that can be easily understood by consumers and other end-users, as determined by the Member State concerned. Such instructions shall be clear, understandable and legible and include at least the information specified in the delegated acts adopted pursuant to Article 4 and pursuant to Article 7(2)(b), point (ii).\nArticle 7 states additionally:\n(2) (b) (ii) information for consumers and other end-users on how to install, use, maintain and repair the product in order to minimise its impact on the environment and to ensure optimum durability, as well as on how to return or dispose of the product at end-of-life;\n(2) (b) (iii) information for treatment facilities on disassembly, recycling, or disposal at end-of-life;\n(2) (b) (iv) other information that may influence the way the product is handled by parties other than the manufacturer in order to improve performance in relation to product parameters referred to in Annex I.\n(5) (d) relevant instructions for the safe use of the product."@en ; + samm:characteristic :SourceList . + +:additionalData a samm:Property ; + samm:preferredName "Additional Data"@en ; + samm:description "Data in form of open fields which need to be transferred in addition. The regulation is still under development and may change in the future. To accommodate this, additional data allows the option to include additional data required by future changes to the regulation. In addition, the DPP can be easily updated and adapted to the new requirements."@en ; + samm:characteristic :AdditionalDataList . + +:MetadataCharacteristic a samm:Characteristic ; + samm:preferredName "Metadata Characteristic"@en ; + samm:description "Characteristic for the passport metadata of the digital product passport."@en ; + samm:dataType :MetadataEntity . + +:TypologyCharacteristic a samm:Characteristic ; + samm:preferredName "Typology Characteristic"@en ; + samm:description "Characteristic to further describe product."@en ; + samm:dataType :TypologyEntity . + +:HandlingCharacteristic a samm:Characteristic ; + samm:preferredName "Handling Characteristic"@en ; + samm:description "Characteristic to describe aspects which are connected with the handling of the product."@en ; + samm:dataType :HandlingEntity . + +:SustainabilityCharacteristic a samm:Characteristic ; + samm:preferredName "Sustainability Characteristic"@en ; + samm:description "Characteristic which describes relevant information for the sustainability of the product."@en ; + samm:dataType :SustainabilityEntity . + +:Characteristics a samm:Characteristic ; + samm:preferredName "Characteristics"@en ; + samm:description "Defines a set of specific characteristics of a product."@en ; + samm:dataType :CharacteristicsEntity . + +:CommercialCharacteristic a samm:Characteristic ; + samm:preferredName "Commercial Characteristic"@en ; + samm:description "Commercial information of the product."@en ; + samm:dataType :CommercialEntity . + +:OperationCharacteristic a samm:Characteristic ; + samm:preferredName "Operation Characteristic"@en ; + samm:description "Operational information of the product."@en ; + samm:dataType :OperationEntity . + +:IdentificationCharacteristic a samm:Characteristic ; + samm:preferredName "Identification Characteristic"@en ; + samm:description "Identification information of the product."@en ; + samm:dataType :IdentificationEntity . + +:SourceList a samm-c:List ; + samm:preferredName "Source List"@en ; + samm:description "A list of documents."@en ; + samm:dataType :DocumentEntity . + +:AdditionalDataList a samm-c:List ; + samm:preferredName "Additional Data List"@en ; + samm:description "List of additional data."@en ; + samm:dataType :AdditionalDataEntity . + +:MetadataEntity a samm:Entity ; + samm:preferredName "Metadata Entity"@en ; + samm:description "Passport Entity to describe version, status, end and issue date."@en ; + samm:properties ( :version [ samm:property :status; samm:optional true ] :expirationDate :issueDate :economicOperator :predecessor ) . + +:TypologyEntity a samm:Entity ; + samm:preferredName "Typology Entity"@en ; + samm:description "Entity describing attributes such class and different names of the product."@en ; + samm:properties ( :longName [ samm:property :class; samm:optional true ] :shortName ) . + +:HandlingEntity a samm:Entity ; + samm:preferredName "Handling Entity"@en ; + samm:description "Entity to describe different aspects in relation with the handling of the product. Properties are the maintenance history spare parts, substances of concern and reusable packaging."@en ; + samm:properties ( :spareParts :substanceOfConcern ) . + +:SustainabilityEntity a samm:Entity ; + samm:preferredName "Sustainability Entity"@en ; + samm:description "Entity with the properties state, al list of different materials, a list of critical materials and the product carbon footprint."@en ; + samm:properties ( :state :material :critical [ samm:property :productEnvironmentalFootprint; samm:payloadName "PEF" ] ) . + +:CharacteristicsEntity a samm:Entity ; + samm:preferredName "Characteristics Entity"@en ; + samm:description "Entity which defines specific characteristics of a product such as different life spans and physical dimensions."@en ; + samm:properties ( :lifespan :physicalDimension :physicalState ) . + +:CommercialEntity a samm:Entity ; + samm:preferredName "Commercial Entity"@en ; + samm:description "Commercial information such as placed on market and the warranty."@en ; + samm:properties ( [ samm:property :placedOnMarket; samm:optional true ] ) . + +:OperationEntity a samm:Entity ; + samm:preferredName "Operation Entity"@en ; + samm:description "Operational information of the product such as the owner, manufacturer and importer."@en ; + samm:properties ( :importer :manufacturer ) . + +:IdentificationEntity a samm:Entity ; + samm:preferredName "Identification Entity"@en ; + samm:description "Entity with identification information of the product with local identifiers, other codes and the data carrier."@en ; + samm:properties ( :additionalCode :localIdentifier [ samm:property :dataCarrier; samm:optional true ] ) . + +:DocumentEntity a samm:Entity ; + samm:preferredName "Document Entity"@en ; + samm:description "Document entity with header, content, category and type."@en ; + samm:properties ( :content :category [ samm:property :contentType; samm:payloadName "type" ] :header ) . + +:AdditionalDataEntity a samm:Entity ; + samm:preferredName "Additional Data Entity"@en ; + samm:description "Entity with additional data. Properties are label, description, type, data and children. Either the fields data or children filled. Children constructs a hierarchy with the same attributes. Data is filled as the end of an path/leaf."@en ; + samm:properties ( :label :description :type [ samm:property :data; samm:optional true ] [ samm:property :children; samm:optional true ] ) . + +:version a samm:Property ; + samm:preferredName "Version"@en ; + samm:description "The current version of the product passport. The possibility of modification/updating the product passport needs to include versioning of the dataset. This attribute is an internal versioning from the passport issuer."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "1.0.0" . + +:status a samm:Property ; + samm:preferredName "Status"@en ; + samm:description "The current status of the product passport declared through either: draft, approved, invalid or expired."@en ; + samm:characteristic :StatusEnumeration ; + samm:exampleValue "draft" . + +:expirationDate a samm:Property ; + samm:preferredName "Expiration Date"@en ; + samm:description "The timestamp in the format (yyyy-mm-dd) for the product passport until when it is available or a comment describing this period. This attribute is mentioned in the ESPR proposal from March 30th, 2022 and changed by the amendments of the European Parliament from July 12th, 2023 Article 8:\n(2) (h) the period during which the product passport shall remain available which shall correspond to at least the expected lifetime of a specific product."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "2000-01-01" . + +:issueDate a samm:Property ; + samm:preferredName "Issue Date"@en ; + samm:description "The timestamp in the format (yyyy-mm-dd) since when the product passport is available."@en ; + samm:characteristic :DateTrait ; + samm:exampleValue "2000-01-01" . + +:economicOperator a samm:Property ; + samm:preferredName "Economic Operator"@en ; + samm:description "The economic operator of the passport."@en ; + samm:characteristic :EconomicOperatorCharacteristic . + +:predecessor a samm:Property ; + samm:preferredName "Predecessor"@en ; + samm:description "Identification of the preceding product passport. This could either be an identification of the registered twin, a redirection to a platform where it is available, or if there is no preceding passport, input null."@en ; + samm:characteristic :IdentifierCharacteristic ; + samm:exampleValue "null" . + +:longName a samm:Property ; + samm:preferredName "Long Name"@en ; + samm:description "The full name of the product as a general short product description. This provides the users of the product passport with relevant information about the product. It can also be a marketing slogan or short description with one to a few sentences."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "Product Description long text" . + +:class a samm:Property ; + samm:preferredName "Class"@en ; + samm:description "The associated product category according to ECLASS. The ECLASS is the worldwide reference data standard for classifying and clearly describing products and services."@en ; + samm:see ; + samm:characteristic :ClassCharacteristic . + +:shortName a samm:Property ; + samm:preferredName "Short Name"@en ; + samm:description "The short name of the product. Short names can contain abbreviations."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "8HP60" . + +:spareParts a samm:Property ; + samm:preferredName "Spare Parts"@en ; + samm:description "The list of spare parts available for the product from various suppliers."@en ; + samm:characteristic :EitherSparePart . + +:substanceOfConcern a samm:Property ; + samm:preferredName "Concerning Substance"@en ; + samm:description "Information regarding substances of concern in the product. Attributes are among others substance names, ids, concentration, location. This is mentioned in the ESPR proposal from March 30th, 2022 and changed by the amendments of the European Parliament from July 12th, 2023 Article 7:\n(5) (a) the International Union of Pure and Applied Chemistry (IUPAC) name of the substances of concern present in the product, including the chemical identification number, that is the European Inventory of Existing Commercial Chemical Substances (EINECS) or European List of Notified Chemical Substances (ELINCS) number or Chemical Abstract Service (CAS) number.\n(5) (b) the location of the substances of concern within the product.\n(5) (c) the concentration, maximum concentration or concentration range of the substances of concern, at the level of the product [...].\n(5) (c) provide exemptions for substances of concern or information elements from the information requirements referred to in the first subparagraph."@en ; + samm:characteristic :SubstanceCharacteristic . + +:state a samm:Property ; + samm:preferredName "State"@en ; + samm:description "The status of the product (first life or second life) to indicated, whether it is a used product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex I:\n(j) incorporation of used components."@en ; + samm:characteristic :StateEnumeration ; + samm:exampleValue "first life" . + +:material a samm:Property ; + samm:preferredName "Material"@en ; + samm:description "Information on different materials in the product."@en ; + samm:characteristic :EitherMaterialCharacteristic . + +:critical a samm:Property ; + samm:preferredName "Critical"@en ; + samm:description "A list of critical raw material names which are included at the level of the product. This attribute is complemented to the ESPR proposal by the amendments of the European Parliament from July 12th, 2023 Annex I:\n(hb) use or content of critical raw materials.\nIn Annex II of the connected proposal Act of Critical Raw Materials, a list of critical raw materials can be found."@en ; + samm:see ; + samm:characteristic :EitherCritical . + +:productEnvironmentalFootprint a samm:Property ; + samm:preferredName "Product Environmental Footprint"@en ; + samm:description "The carbon and environmental footprint of the product. These attributes are mentioned in the ESPR proposal from March 30th, 2022 Annex I:\n(l) the environmental footprint of the product, expressed as a quantification, in accordance with the applicable delegated act, of a product?s life cycle environmental impacts, whether in relation to one or more environmental impact categories or an aggregated set of impact categories;\n(m) the carbon footprint of the product.\nBoth are defined by Article 2:\n(23) ?environmental footprint? means a quantification of a product?s environmental impacts, whether in relation to a single environmental impact category or an aggregated set of impact categories based on the Product Environmental Footprint method;\n(25) ?carbon footprint? means the sum of greenhouse gas (GHG) emissions and GHG removals in a product system, expressed as CO2 equivalents and based on a life cycle assessment using the single impact category of climate change."@en ; + samm:characteristic :ProductEnvironmentalFootprintCharacteristic . + +:lifespan a samm:Property ; + samm:preferredName "Lifespan"@en ; + samm:description "The type of lifespan represented with the values guaranteed lifetime, technical lifetime and mean time between failures. Both can be described through the attributes: type, which defines the type such as guaranteed lifetime or technical lifetime, the unit for the lifetime, and the value represented by an integer. These attributes are mentioned in the ESPR proposal from March 30th, 2022 ANNEX I:\n(a) durability and reliability of the product or its components as expressed through the products guaranteed lifetime, technical lifetime [or] mean time between failures [...]."@en ; + samm:characteristic :LifespanList . + +:physicalDimension a samm:Property ; + samm:preferredName "Physical Dimension"@en ; + samm:description "Physical dimensions are properties associated with physical quantities for purposes of classification or differentiation. Mentioned are a part of these requirements in the ESPR proposal from March 30th, 2022 Article 7:\n(2) (b) (i) information on the performance of the product in relation to the product parameters referred to in Annex I;\nAnnex I (i) weight and volume of the product and its packaging, and the product-to-packaging ratio."@en ; + samm:characteristic :PhysicalDimensionCharacteristic . + +:physicalState a samm:Property ; + samm:preferredName "Physical State"@en ; + samm:description "The physical state of the item. There are four states of matter solid, liquid, gas and plasma which can be chosen from an enumeration."@en ; + samm:characteristic :PhysicalStateEnumeration ; + samm:exampleValue "solid" . + +:placedOnMarket a samm:Property ; + samm:preferredName "Placed on Market"@en ; + samm:description "The timestamp in the format (yyyy-mm-dd) with or without time zone when the product was put in the market."@en ; + samm:characteristic :DateTrait ; + samm:exampleValue "2000-01-01" . + +:importer a samm:Property ; + samm:preferredName "Importer"@en ; + samm:description "Information regarding the importer of the product, if different from the owner of the passport. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex III:\n(j) information related to the importer, including the information referred to in Article 23(3) and its EORI number;\nArticle 23 states:\n(3) Importers shall indicate on the product their name, registered trade name or registered trade mark and the postal address and, where available, electronic means of communication, where they can be contacted or, where this is not possible, on the packaging, in a document accompanying the product or, where available, in a product passport. The contact details shall be clear, understandable and legible."@en ; + samm:characteristic :EitherImporter . + +:manufacturer a samm:Property ; + samm:preferredName "Manufacturer"@en ; + samm:description "Manufacturing information of the product. In the CATENA-X use case, the BPNL and BPNS can be stated. These attributes are mentioned in the ESPR proposal from March 30th, 2022 Annex III:\n(g) information related to the manufacturer, such as its unique operator identifier and the information referred to in Article 21(7);\n(i) unique facility identifiers."@en ; + samm:characteristic :ManufacturerCharacteristic . + +:additionalCode a samm:Property ; + samm:preferredName "Additional Code"@en ; + samm:description "Codes for identification can be for example commodity codes. In Europe, two commonly used codes for goods classification are the Harmonized System (HS) code and the Combined Nomenclature (CN). Other codes can also be given."@en ; + samm:characteristic :CodeList . + +:localIdentifier a samm:Property ; + samm:preferredName "Local Identifier"@en ; + samm:description "The unique identifier of the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 ANNEX III:\n(b) the unique product identifier at the level indicated in the applicable delegated act adopted pursuant to Article 4.\nAdditionally in Article 9 regarding general requirements for the product passport is stated that:\n(e) the information included in the product passport shall refer to the product model, batch, or item as specified in the delegated act adopted pursuant to Article 4."@en ; + samm:characteristic :LocalIdentifierCharacteristic . + +:dataCarrier a samm:Property ; + samm:preferredName "Data Carrier"@en ; + samm:description "The type and layout of the data carrier on the product. These are mentioned in the ESPR proposal from March 30th, 2022 Article 8:\n(b) the types of data carrier to be used;\n(c) the layout in which the data carrier shall be presented and its positioning."@en ; + samm:characteristic :DataCarrierCharacteristic . + +:content a samm:Property ; + samm:preferredName "Content"@en ; + samm:description "The content of the document e.g a link."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "www.alink.pdf" . + +:category a samm:Property ; + samm:preferredName "Category"@en ; + samm:description "The category in which the document can be sorted. These are mentioned in the ESPR proposal from March 30th, 2022 ANNEX III:\n(e) compliance documentation and information required under this Regulation or other Union law applicable to the product, such as the declaration of conformity, technical documentation or conformity certificates;\nANNEX IV states additional information regarding the content of the technical documentation\nFurther information on documents are mentioned in the proposal from March 30th, 2022 ANNEX III:\n(f) user manuals, instructions, warnings or safety information, as required by other Union legislation applicable to the product.\nAdditionally requirements are mentioned in Article 21:\n(7) Manufacturers shall ensure that that a product covered by a delegated act adopted pursuant to Article 4 is accompanied by instructions that enable consumers and other end-users to safely assemble, install, operate, store, maintain, repair and dispose of the product in a language that can be easily understood by consumers and other end-users, as determined by the Member State concerned. Such instructions shall be clear, understandable and legible and include at least the information specified in the delegated acts adopted pursuant to Article 4 and pursuant to Article 7(2)(b), point (ii).\nArticle 7 states additionally:\n(2) (b) (ii) information for consumers and other end-users on how to install, use, maintain and repair the product in order to minimise its impact on the environment and to ensure optimum durability, as well as on how to return or dispose of the product at end-of-life;\n(2) (b) (iii) information for treatment facilities on disassembly, recycling, or disposal at end-of-life;\n(2) (b) (iv) other information that may influence the way the product is handled by parties other than the manufacturer in order to improve performance in relation to product parameters referred to in Annex I.\n(5) (d) relevant instructions for the safe use of the product."@en ; + samm:characteristic :SourceCategoryEnumeration ; + samm:exampleValue "Legal Information" . + +:contentType a samm:Property ; + samm:preferredName "Content Type"@en ; + samm:description "The type of content which can be expected in the \"content\" property. Examples are a link, restricted link, pdf, excel, etc."@en ; + samm:characteristic :SourceEnumeration ; + samm:exampleValue "URL" . + +:header a samm:Property ; + samm:preferredName "Header"@en ; + samm:description "The header as a short description of the document with a maximum of 100 characters."@en ; + samm:characteristic :HeaderTrait ; + samm:exampleValue "Sustainability Document Material XY" . + +:label a samm:Property ; + samm:preferredName "Label"@en ; + samm:description "The human readable name of the attribute."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "Maximum permitted battery power" . + +:description a samm:Property ; + samm:preferredName "Description"@en ; + samm:description "The description of the attribute context."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "Description of an attribute" . + +:type a samm:Property ; + samm:preferredName "Type"@en ; + samm:description "The complex description of the type."@en ; + samm:characteristic :TypeCharacteristic . + +:data a samm:Property ; + samm:preferredName "Data"@en ; + samm:description "The content from the attribute which is a depended of the data type and typeUnit."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "23" . + +:children a samm:Property ; + samm:preferredName "children"@en ; + samm:description "Children of the hierarchy."@en ; + samm:characteristic :AdditionalDataList . + +:StatusEnumeration a samm-c:Enumeration ; + samm:preferredName "Status Enumeration"@en ; + samm:description "The current status of the product passport declared through either: draft, approved, invalid or expired."@en ; + samm:dataType xsd:string ; + samm-c:values ( "draft" "approved" "invalid" "expired" ) . + +:DateTrait a samm-c:Trait ; + samm:preferredName "Date Trait"@en ; + samm:description "Trait for valid traits.."@en ; + samm-c:baseCharacteristic samm-c:Text ; + samm-c:constraint :DateConstraint . + +:EconomicOperatorCharacteristic a samm:Characteristic ; + samm:preferredName "Economic Operator Characteristic"@en ; + samm:description "Economic operator of the passport."@en ; + samm:dataType :EconomicOperatorEntity . + +:IdentifierCharacteristic a samm:Characteristic ; + samm:preferredName "Identifier Characteristic"@en ; + samm:description "Characteristic for Identifiers."@en ; + samm:dataType xsd:string . + +:ClassCharacteristic a samm:Characteristic ; + samm:preferredName "Class Characteristic"@en ; + samm:description "Characteristic to describe the ECLASS typology of a product."@en ; + samm:dataType :ClassEntity . + +:EitherSparePart a samm-c:Either ; + samm:preferredName "Either Spare Part"@en ; + samm:description "Either spare parts and optional spare part producers (left) or the string value \"not applicable\" (right)."@en ; + samm-c:left :SparePartCharacteristic ; + samm-c:right :NotApplicableEnumeration . + +:SubstanceCharacteristic a samm-c:Either ; + samm:preferredName "Substance Characteristic"@en ; + samm:description "Either a list of substances (left) or the string value \"not applicable\" (right)."@en ; + samm-c:left :SubstanceList ; + samm-c:right :NotApplicableEnumeration . + +:StateEnumeration a samm-c:Enumeration ; + samm:preferredName "State Enumeration"@en ; + samm:description "Enumeration with the values first life and second life."@en ; + samm:dataType xsd:string ; + samm-c:values ( "first life" "second life" ) . + +:EitherMaterialCharacteristic a samm-c:Either ; + samm:preferredName "Either Material Characteristic"@en ; + samm:description "Either a material list (left) or the string value \"not applicable\" (right)."@en ; + samm-c:left :MaterialList ; + samm-c:right :NotApplicableEnumeration . + +:EitherCritical a samm-c:Either ; + samm:preferredName "Either Critical"@en ; + samm:description "Either a list of critical materials (left) or the string value \"not applicable\" (right)."@en ; + samm-c:left :CriticalList ; + samm-c:right :NotApplicableEnumeration . + +:ProductEnvironmentalFootprintCharacteristic a samm:Characteristic ; + samm:preferredName "Product Environmental Footprint Characteristic"@en ; + samm:description "The Product Environmental Footprint Characteristic with sustainability information."@en ; + samm:dataType :ProductEnvironmentalFootprintEntity . + +:LifespanList a samm-c:List ; + samm:preferredName "Lifespan List"@en ; + samm:description "List of different life spans of a product."@en ; + samm:dataType :LifespanEntity . + +:PhysicalDimensionCharacteristic a samm:Characteristic ; + samm:preferredName "Physical Dimension Characteristic"@en ; + samm:description "Characteristic for physical dimensions with linear, mass and capacity attributes."@en ; + samm:dataType :PhysicalDimensionEntity . + +:PhysicalStateEnumeration a samm-c:Enumeration ; + samm:preferredName "Physical State Enumeration"@en ; + samm:description "Enumeration with the values solid, liquid, gas and plasma."@en ; + samm:dataType xsd:string ; + samm-c:values ( "solid" "liquid" "gas" "plasma" ) . + +:EitherImporter a samm-c:Either ; + samm:preferredName "Either Importer"@en ; + samm:description "Either the importer with its ids (left) or the string value \"not applicable\" (right)."@en ; + samm-c:left :ImporterCharacteristic ; + samm-c:right :NotApplicableEnumeration . + +:ManufacturerCharacteristic a samm:Characteristic ; + samm:preferredName "Manufacturer Characteristic"@en ; + samm:description "Manufacturing information."@en ; + samm:dataType :ManufacturerEntity . + +:CodeList a samm-c:List ; + samm:preferredName "Code List"@en ; + samm:description "A list of additional codes."@en ; + samm:dataType :CodeEntity . + +:LocalIdentifierCharacteristic a samm:Characteristic ; + samm:preferredName "Local Identifier Characteristic"@en ; + samm:description "Local Identifier Characteristic for the product."@en ; + samm:dataType :IdentifierEntity . + +:DataCarrierCharacteristic a samm:Characteristic ; + samm:preferredName "Data Carrier Characteristic"@en ; + samm:description "Data Carrier Characteristic for the product."@en ; + samm:dataType :DataCarrierEntity . + +:SourceCategoryEnumeration a samm-c:Enumeration ; + samm:preferredName "Source Category Enumeration"@en ; + samm:description "The types of sources that can be linked in a digital product passport can vary depending on the nature of the product and the information that needs to be included. This is an enumeration of possible sources."@en ; + samm:dataType xsd:string ; + samm-c:values ( "Product Specifications" "Manufacturer Information" "User Manuals and Guides" "Certifications and Compliance" "Product Images and Videos" "Warranty Information" "Reviews and Ratings" "Product Variations" "Supply Chain Information" "Environmental Impact" "Compatibility and Accessories" "FAQs and Support" "Purchase and Retail Information" "Privacy and Data Handling" "Third-Party Integrations" "Legal Information" "Safety Information" "Repair and Installation" "Waste Generation and Prevention" "Specific Voluntary Labels" "Product Packaging" "Return and Disposal" "End of Life" "Material and Substance Information" "Technical Documentation" "Other" ) . + +:SourceEnumeration a samm-c:Enumeration ; + samm:preferredName "Source Enumeration"@en ; + samm:description "Enumeration on different sources."@en ; + samm:dataType xsd:string ; + samm-c:values ( "URL" "PDF" "Other" ) . + +:HeaderTrait a samm-c:Trait ; + samm-c:baseCharacteristic samm-c:Text ; + samm-c:constraint :HeaderConstraint . + +:TypeCharacteristic a samm:Characteristic ; + samm:preferredName "Type Characteristic"@en ; + samm:description "Characteristic for the data type."@en ; + samm:dataType :TypeEntity . + +:DateConstraint a samm-c:RegularExpressionConstraint ; + samm:preferredName "Date Constraint"@en ; + samm:description "Constraint fo a timestamp in the format (yyyy-mm-dd)."@en ; + samm:value "^\\d{4}-\\d{2}-\\d{2}$" . + +:EconomicOperatorEntity a samm:Entity ; + samm:preferredName "Economic Operator Entity"@en ; + samm:description "Economic operator entity with identification."@en ; + samm:properties ( [ samm:property :economicOperatorIdentification; samm:payloadName "identification" ] [ samm:property :economicOperatorLegitimization; samm:payloadName "legitimization" ] ) . + +:ClassEntity a samm:Entity ; + samm:preferredName "Class Entity"@en ; + samm:description "Entity to describe the associated product category according to ECLASS. ECLASS is a monohierachical classification system where each class has a preferred name and a coded name that represents the classification structure."@en ; + samm:properties ( :code :definition ) . + +:SparePartCharacteristic a samm:Characteristic ; + samm:preferredName "Spare Part Characteristic"@en ; + samm:description "Characteristic describing producers and spare parts."@en ; + samm:dataType :SparePartEntity . + +:NotApplicableEnumeration a samm-c:Enumeration ; + samm:preferredName "Not Applicable Enumeration"@en ; + samm:description "Enumeration with the value \"not applicable\"."@en ; + samm:dataType xsd:string ; + samm-c:values ( "not applicable" ) . + +:SubstanceList a samm-c:List ; + samm:preferredName "Substance List"@en ; + samm:description "Characteristic for a list of substances of concern."@en ; + samm:dataType :SubstanceEntity . + +:MaterialList a samm-c:List ; + samm:preferredName "Material List"@en ; + samm:description "A list of different materials in the product."@en ; + samm:dataType :MaterialEntity . + +:CriticalList a samm-c:List ; + samm:preferredName "Critical List"@en ; + samm:description "The list of critical raw materials in the product (CRM) which is specified by EU."@en ; + samm:dataType xsd:string . + +:ProductEnvironmentalFootprintEntity a samm:Entity ; + samm:preferredName "Product Environmental Footprint Entity"@en ; + samm:description "The Product Environmental Footprint Entity with sustainability information such as the different environmental footprint types, the carbon footprint explicitly, applicable rules and lifecycle stages."@en ; + samm:properties ( [ samm:property :environmentalFootprint; samm:payloadName "environmental" ] [ samm:property :carbonFootprint; samm:payloadName "carbon" ] ) . + +:LifespanEntity a samm:Entity ; + samm:preferredName "Lifespan Entity"@en ; + samm:description "Entity for the lifespan of a product with type, unit and value."@en ; + samm:properties ( [ samm:property :lifeUnit; samm:payloadName "unit" ] [ samm:property :lifeValue; samm:payloadName "value" ] [ samm:property :lifeType; samm:payloadName "key" ] ) . + +:PhysicalDimensionEntity a samm:Entity ; + samm:preferredName "Physical Dimension Entity"@en ; + samm:description "Entity for physical dimensions with linear, mass and capacity attributes."@en ; + samm:properties ( [ samm:property :width; samm:optional true ] [ samm:property :length; samm:optional true ] [ samm:property :diameter; samm:optional true ] [ samm:property :height; samm:optional true ] :grossWeight :grossVolume :weightOrVolume ) . + +:ImporterCharacteristic a samm:Characteristic ; + samm:preferredName "Importer Characteristic"@en ; + samm:description "Characteristic with information regarding the importer."@en ; + samm:dataType :ImporterEntity . + +:ManufacturerEntity a samm:Entity ; + samm:preferredName "Manufacturer Entity"@en ; + samm:description "Manufacturing Entity with the identification of the main manufacturer and the facility location as well as the manufacturing date."@en ; + samm:properties ( [ samm:property :facilityIdentification; samm:payloadName "facility" ] [ samm:property :manufacturerIdentification; samm:payloadName "manufacturer" ] [ samm:property :manufacturingDate; samm:optional true ] ) . + +:CodeEntity a samm:Entity ; + samm:preferredName "Code Entity"@en ; + samm:description "Code entity with code key and value."@en ; + samm:properties ( [ samm:property :codeKey; samm:payloadName "key" ] [ samm:property :codeValue; samm:payloadName "value" ] ) . + +:IdentifierEntity a samm:Entity ; + samm:preferredName "Identifier Entity"@en ; + samm:description "Identifier Entity with the attributes key and value."@en ; + samm:properties ( [ samm:property :identifierKey; samm:payloadName "key" ] [ samm:property :identifierValue; samm:payloadName "value" ] ) . + +:DataCarrierEntity a samm:Entity ; + samm:preferredName "Data Carrier Entity"@en ; + samm:description "Data Carrier Entity with type and layout of the data carrier."@en ; + samm:properties ( :carrierType :carrierLayout ) . + +:HeaderConstraint a samm-c:LengthConstraint ; + samm:preferredName "Header Constraint"@en ; + samm:description "Constraint for a maximum of 100 characters."@en ; + samm-c:maxValue "100"^^xsd:nonNegativeInteger . + +:TypeEntity a samm:Entity ; + samm:preferredName "Type Entity"@en ; + samm:description "Entity for type with unit and data type."@en ; + samm:properties ( [ samm:property :typeUnit; samm:optional true ] :dataType ) . + +:economicOperatorIdentification a samm:Property ; + samm:preferredName "Economic Operator Identification"@en ; + samm:description "The identification of the owner/economic operator of the passport. In the Catena-X network, the BPNL is used for the identification of companies and the information stored like contact information and addresses. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex III:\n(g) information related to the manufacturer, such as its unique operator identifier and the information referred to in Article 21(7);\n(h) unique operator identifiers other than that of the manufacturer."@en ; + samm:characteristic :CompanyIdentification ; + samm:exampleValue "BPNL1234567890ZZ" . + +:economicOperatorLegitimization a samm:Property ; + samm:preferredName "Economic Operator Legitimization"@en ; + samm:description "The identification of the owner/economic operator of the passport. Proposed, according to ISO 15459, is the CIN (company identification code). Other identification numbers like the tax identification number, value added tax identification number, commercial register number and the like are also valid entries. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex III:\n(k) the [...] unique operator identifier code of the economic operator established in the Union responsible for carrying out the tasks set out in Article 4 of Regulation (EU) 2019/1020, or Article 15 of Regulation (EU) [?/?] on general product safety, or similar tasks pursuant to other EU legislation applicable to the product."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "DE123456789" . + +:code a samm:Property ; + samm:preferredName "Code"@en ; + samm:description "The associated product category coded name/code, according to ECLASS. The 8-digit code consists of two digits for each of the four hierarchical levels."@en ; + samm:see ; + samm:characteristic :CodeTrait ; + samm:exampleValue "44-09-02-02" . + +:definition a samm:Property ; + samm:preferredName "Definition"@en ; + samm:description "The associated product category preferred name/definition according to ECLASS. This preferred name is always associated with the code."@en ; + samm:see ; + samm:characteristic samm-c:Text ; + samm:exampleValue "Manual transmission (motor vehicle)" . + +:SparePartEntity a samm:Entity ; + samm:preferredName "Spare Part Entity"@en ; + samm:description "Entity with the attributes producerId, partName and gtin to describe two separate lists of spare parts and possible suppliers."@en ; + samm:properties ( [ samm:property :sparePart; samm:payloadName "part" ] [ samm:property :sparePartProducer; samm:optional true; samm:payloadName "producer" ] ) . + +:SubstanceEntity a samm:Entity ; + samm:preferredName "Substance Entity"@en ; + samm:description "Information regarding substances of concern in the product. Attributes are among others substance names, ids, concentration, location. This is mentioned in the ESPR proposal from March 30th, 2022 and changed by the amendments of the European Parliament from July 12th, 2023 Article 7:\n(5) (a) the International Union of Pure and Applied Chemistry (IUPAC) name of the substances of concern present in the product, including the chemical identification number, that is the European Inventory of Existing Commercial Chemical Substances (EINECS) or European List of Notified Chemical Substances (ELINCS) number or Chemical Abstract Service (CAS) number.\n(5) (b) the location of the substances of concern within the product.\n(5) (c) the concentration, maximum concentration or concentration range of the substances of concern, at the level of the product [...].\n(5) (c) provide exemptions for substances of concern or information elements from the information requirements referred to in the first subparagraph."@en ; + samm:properties ( [ samm:property :substanceName; samm:payloadName "name" ] :location [ samm:property :substanceUnit; samm:payloadName "unit" ] :concentration [ samm:property :substanceIdentification; samm:payloadName "id" ] :exemption ) . + +:MaterialEntity a samm:Entity ; + samm:preferredName "Material Entity"@en ; + samm:description "Information regarding recycled and/or renewable materials in the product. Attributes are among others material names, ids and percentage. These attributes are mentioned in the ESPR proposal from March 30th, 2022 Article 1:\n(1) (f) recycled content in products.\nAnd complemented by the amendments of the European Parliament from July 12th, 2023 Annex I:\n(ha) use or content of sustainably sourced renewable materials."@en ; + samm:properties ( [ samm:property :materialName; samm:payloadName "name" ] :recycled :renewable [ samm:property :materialValue; samm:payloadName "value" ] [ samm:property :substanceUnit; samm:payloadName "unit" ] [ samm:property :materialIdentification; samm:payloadName "id" ] ) . + +:environmentalFootprint a samm:Property ; + samm:preferredName "Environmental Footprint"@en ; + samm:description "The environmental footprint of the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex I:\n(l) the environmental footprint of the product, expressed as a quantification, in accordance with the applicable delegated act, of a product?s life cycle environmental impacts, whether in relation to one or more environmental impact categories or an aggregated set of impact categories."@en ; + samm:characteristic :FootprintList . + +:carbonFootprint a samm:Property ; + samm:preferredName "Carbon Footprint"@en ; + samm:description "The carbon footprint of the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex I:\n(m) the carbon footprint of the product."@en ; + samm:characteristic :FootprintList . + +:lifeUnit a samm:Property ; + samm:preferredName "Life Unit"@en ; + samm:description "The unit of the respective lifespan expressed through the possible units day, month, cycle, year and runningOrOperatingHour."@en ; + samm:see ; + samm:characteristic :LifeEnumeration ; + samm:exampleValue "unit:month" . + +:lifeValue a samm:Property ; + samm:preferredName "Life Value"@en ; + samm:description "The value as an integer for the respective lifespan."@en ; + samm:characteristic :LifeValueCharacteristic ; + samm:exampleValue 36 . + +:lifeType a samm:Property ; + samm:preferredName "Life Type"@en ; + samm:description "The type of lifespan represented with the values guaranteed lifetime, technical lifetime and mean time between failures. This attribute is mentioned in the ESPR proposal from March 30th, 2022 ANNEX I:\n(a) durability and reliability of the product or its components as expressed through the product?s guaranteed lifetime, technical lifetime [or] mean time between failures [...]."@en ; + samm:characteristic :LifeTypeEnumeration ; + samm:exampleValue "guaranteed lifetime" . + +:width a samm:Property ; + samm:preferredName "width"@en ; + samm:description "The width of the item measured in a specific linear unit which can be declared in the corresponding unit attribute."@en ; + samm:characteristic :LinearCharacteristic . + +:length a samm:Property ; + samm:preferredName "length"@en ; + samm:description "The length of the item measured in a specific linear unit which can be declared in the corresponding unit attribute."@en ; + samm:characteristic :LinearCharacteristic . + +:diameter a samm:Property ; + samm:preferredName "diameter"@en ; + samm:description "The diameter of the item, if applicable, measured in a specific linear unit which can be declared in the corresponding unit attribute."@en ; + samm:characteristic :LinearCharacteristic . + +:height a samm:Property ; + samm:preferredName "height"@en ; + samm:description "The height of the item measured in a specific linear unit which can be declared in the corresponding unit attribute."@en ; + samm:characteristic :LinearCharacteristic . + +:grossWeight a samm:Property ; + samm:preferredName "Gross Weight"@en ; + samm:description "The gross weight of the item measured in a specific mass unit which can be declared in the corresponding unit attribute. Gross weight refers to the total weight of a product, including the weight of the packaging. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 7:\n(2) (b) (i) information on the performance of the product in relation to the product parameters referred to in Annex I;\nAnnex I (i) weight and volume of the product and its packaging, and the product-to-packaging ratio."@en ; + samm:characteristic :MassCharacteristic . + +:grossVolume a samm:Property ; + samm:preferredName "Gross Volume"@en ; + samm:description "The gross volume of the item measured in a specific capacity unit which can be declared in the corresponding unit attribute. Gross volume refers to the total volume of a product, including the volume of the packaging. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 7:\n(2) (b) (i) information on the performance of the product in relation to the product parameters referred to in Annex I;\nAnnex I (i) weight and volume of the product and its packaging, and the product-to-packaging ratio."@en ; + samm:characteristic :CapacityCharacteristic . + +:weightOrVolume a samm:Property ; + samm:preferredName "Weight or Volume"@en ; + samm:description "Weight or volume of the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 7:\n(2) (b) (i) information on the performance of the product in relation to the product parameters referred to in Annex I;\nAnnex I (i) weight and volume of the product [...]."@en ; + samm:characteristic :EitherCharacteristic . + +:ImporterEntity a samm:Entity ; + samm:preferredName "Importer Entity"@en ; + samm:description "Entity with information regarding the importer such as the identification and the EORI."@en ; + samm:properties ( :eori [ samm:property :importerIdentification; samm:payloadName "id" ] ) . + +:facilityIdentification a samm:Property ; + samm:preferredName "Facility Identification"@en ; + samm:description "The facility identification, where the main manufacturing took place. In the CATENA-X use case, the BPNS can be stated. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex III:\n(i) unique facility identifiers."@en ; + samm:characteristic :CompanyIdentification ; + samm:exampleValue "BPNS1234567890ZZ" . + +:manufacturerIdentification a samm:Property ; + samm:preferredName "Manufacturer Identification"@en ; + samm:description "The main manufacturer, if different from the passport owner, represented by an identification number. In the Catena-X use case, the BPNL can be stated. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex III:\n(g) information related to the manufacturer, such as its unique operator identifier and the information referred to in Article 21(7)."@en ; + samm:characteristic :CompanyIdentification ; + samm:exampleValue "BPNL1234567890ZZ" . + +:manufacturingDate a samm:Property ; + samm:preferredName "Manufacturing Date"@en ; + samm:description "The timestamp in the format (yyyy-mm-dd) of the manufacturing date as the final step in production process (e.g. final quality check, ready-for-shipment event)."@en ; + samm:characteristic :DateTrait ; + samm:exampleValue "2000-01-31" . + +:codeKey a samm:Property ; + samm:preferredName "Code Key"@en ; + samm:description "The code key for the identification of the product. These are GTIN, hash, DID, ISBN, TARIC or other which can be chosen from an enumeration. This attribute is mentioned in the ESPR proposal from March 30th, 2022 ANNEX III:\n(b) the unique product identifier at the level indicated in the applicable delegated act adopted pursuant to Article 4;\n(c) the Global Trade Identification Number as provided for in standard ISO/IEC 15459-6 or equivalent of products or their parts;\n(d) relevant commodity codes, such as a TARIC code as defined in Council Regulation (EEC) No 2658/87."@en ; + samm:characteristic :CodeEnumeration ; + samm:exampleValue "TARIC" . + +:codeValue a samm:Property ; + samm:preferredName "Code Value"@en ; + samm:description "The code value for the identification of the product in regard to the chosen code name."@en ; + samm:characteristic :IdentifierCharacteristic ; + samm:exampleValue "8703 24 10 00" . + +:identifierKey a samm:Property ; + samm:preferredName "Identifier Key"@en ; + samm:description "For traceability of the product, the ESPR requires identification on the most specific level. It can be chosen from \"PartInstanceId\" \"BatchId\" \"ModelId\" from an enumeration. This attribute is mentioned in the ESPR proposal from March 30th, 2022 ANNEX III:\n(b) the unique product identifier at the level indicated in the applicable delegated act adopted pursuant to Article 4.\nAdditionally in Article 9 regarding general requirements for the product passport is stated that:\n(e) the information included in the product passport shall refer to the product model, batch, or item as specified in the delegated act adopted pursuant to Article 4."@en ; + samm:characteristic :IdentifierEnumeration ; + samm:exampleValue "PartInstanceId" . + +:identifierValue a samm:Property ; + samm:preferredName "Identifier Value"@en ; + samm:description "The value of the corresponding identifier for part/item, batch or model. This attribute is mentioned in the ESPR proposal from March 30th, 2022 ANNEX III:\n(b) the unique product identifier at the level indicated in the applicable delegated act adopted pursuant to Article 4.\nAdditionally in Article 9 regarding general requirements for the product passport is stated that:\n(e) the information included in the product passport shall refer to the product model, batch, or item as specified in the delegated act adopted pursuant to Article 4."@en ; + samm:characteristic :IdentifierCharacteristic ; + samm:exampleValue "SN12345678" . + +:carrierType a samm:Property ; + samm:preferredName "Carrier Type"@en ; + samm:description "The type of data carrier such as a QR code on the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 8:\n(2) (b) the types of data carrier to be used."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "QR" . + +:carrierLayout a samm:Property ; + samm:preferredName "Carrier Layout"@en ; + samm:description "The positioning of data carrier on the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 8:\n(2) (c) the layout in which the data carrier shall be presented and its positioning."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "upper-left side" . + +:typeUnit a samm:Property ; + samm:preferredName "Type Unit"@en ; + samm:description "Choose a unit type from the unit catalog, or if the property \"children\" is filled, leave empty."@en ; + samm:characteristic :UnitCatalog ; + samm:exampleValue "unit:volume" . + +:dataType a samm:Property ; + samm:preferredName "Data Type"@en ; + samm:description "Data type that describe the content of the attributes children and data. In case \"object\" is selected in the enumeration, the children field will be used in the AdditionalDataEntity instead of the \"data\" property. If it is an other type, the content will be specified in \"data\" as a string."@en ; + samm:see ; + samm:characteristic :DataTypeEnumeration ; + samm:exampleValue "xsd:integer" . + +:CompanyIdentification a samm:Characteristic ; + samm:preferredName "Company Identification"@en ; + samm:description "Identification of the company or location of the company. In the CATENA-X network the BPN/L identification is needed."@en ; + samm:dataType xsd:string . + +:CodeTrait a samm-c:Trait ; + samm:preferredName "Code Trait"@en ; + samm:description "Trait to limit the input to the specified format (00-00-00-00)."@en ; + samm-c:baseCharacteristic :IdentifierCharacteristic ; + samm-c:constraint :CodeConstraint . + +:sparePart a samm:Property ; + samm:preferredName "sparePart"@en ; + samm:description "Spare parts with name and identification."@en ; + samm:characteristic :PartList . + +:sparePartProducer a samm:Property ; + samm:preferredName "Spare Part Producer"@en ; + samm:description "Producer of possible spare parts."@en ; + samm:characteristic :ProducerList . + +:substanceName a samm:Property ; + samm:preferredName "Substance Name"@en ; + samm:description "The substance name, in accordance with the specification in the attribute for the list type, which is present in the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 and changed by the amendments of the European Parliament from July 12th, 2023 Article 7:\n(5) (a) the International Union of Pure and Applied Chemistry (IUPAC) name of the substances of concern present in the product, including the chemical identification number, that is the European Inventory of Existing Commercial Chemical Substances (EINECS) or European List of Notified Chemical Substances (ELINCS) number or Chemical Abstract Service (CAS) number."@en ; + samm:characteristic :NameCharacteristic . + +:location a samm:Property ; + samm:preferredName "Location"@en ; + samm:description "The location of the substances of concern within the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 7:\n(5) (b) the location of the substances of concern within the product."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "Housing" . + +:substanceUnit a samm:Property ; + samm:preferredName "Substance Unit"@en ; + samm:description "The unit of concentration chosen from an enumeration: mass percent, volume percent, parts per thousand, parts per million, parts per billion and parts per trillion."@en ; + samm:see ; + samm:characteristic :ConcentrationEnumeration ; + samm:exampleValue "unit:percent" . + +:concentration a samm:Property ; + samm:preferredName "Concentration"@en ; + samm:description "Concentration of the substance of concern at the level of the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 7:\n(5) (c) the concentration, maximum concentration or concentration range of the substances of concern, at the level of the product [...]."@en ; + samm:characteristic :EitherConcentration . + +:substanceIdentification a samm:Property ; + samm:preferredName "Substance Identification"@en ; + samm:description "The substance identification, in accordance with the specification in the attribute for the list type. This attribute is mentioned in the ESPR proposal from March 30th, 2022 and changed by the amendments of the European Parliament from July 12th, 2023 Article 7:\n(5) (a) the International Union of Pure and Applied Chemistry (IUPAC) name of the substances of concern present in the product, including the chemical identification number, that is the European Inventory of Existing Commercial Chemical Substances (EINECS) or European List of Notified Chemical Substances (ELINCS) number or Chemical Abstract Service (CAS) number."@en ; + samm:characteristic :IdList . + +:exemption a samm:Property ; + samm:preferredName "Exemption"@en ; + samm:description "Exemptions to the substance of concern. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 7:\n(5) (c) provide exemptions for substances of concern or information elements from the information requirements referred to in the first subparagraph."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "shall not apply to product x containing not more than 1,5 ml of liquid" . + +:materialName a samm:Property ; + samm:preferredName "Material Name"@en ; + samm:description "The material name, in accordance with the specification in the attribute for the list type. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 1:\n(1) (f) recycled content in products."@en ; + samm:characteristic :NameCharacteristic . + +:recycled a samm:Property ; + samm:preferredName "Recycled"@en ; + samm:description "A flag if the material is recovered recycled content from the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 1:\n(1) (f) recycled content in products."@en ; + samm:characteristic samm-c:Boolean ; + samm:exampleValue false . + +:renewable a samm:Property ; + samm:preferredName "Renewable"@en ; + samm:description "A flag if the material is from a renewable resource that can be replenished. Renewable resources are those that can be reproduced by physical, chemical, or mechanical processes. These are the kind of resources that can be regenerated throughout time. Forest wood, for example, can be grown through reforestation. This attribute is complemented to the ESPR proposal by the amendments of the European Parliament from July 12th, 2023 Annex I:\n(ha) use or content of sustainably sourced renewable materials."@en ; + samm:characteristic samm-c:Boolean ; + samm:exampleValue true . + +:materialValue a samm:Property ; + samm:preferredName "Material Value"@en ; + samm:description "Concentration of the material in correlation to the material sum."@en ; + samm:characteristic :ConcentrationValue ; + samm:exampleValue "5.0"^^xsd:float . + +:materialIdentification a samm:Property ; + samm:preferredName "Material Identification"@en ; + samm:description "The material identification, in accordance with the specification in the attribute list type."@en ; + samm:characteristic :IdList . + +:FootprintList a samm-c:List ; + samm:preferredName "Footprint List"@en ; + samm:description "Footprint List for the carbon and environmental footprint."@en ; + samm:dataType :FootprintEntity . + +:LifeEnumeration a samm-c:Enumeration ; + samm:preferredName "Life Enumeration"@en ; + samm:description "Enumeration with the possible units day, month, cycle, year and runningOrOperatingHour."@en ; + samm:see ; + samm:dataType xsd:string ; + samm-c:values ( "unit:day" "unit:month" "unit:year" "unit:cycle" "unit:runningOrOperatingHour" ) . + +:LifeValueCharacteristic a samm-c:Quantifiable ; + samm:preferredName "Life Value Characteristic"@en ; + samm:description "Characteristic for the life span value as an integer."@en ; + samm:dataType xsd:integer . + +:LifeTypeEnumeration a samm-c:Enumeration ; + samm:preferredName "Life Type Enumeration"@en ; + samm:description "Enumeration with the values guaranteed lifetime, technical lifetime and mean time between failures."@en ; + samm:dataType xsd:string ; + samm-c:values ( "guaranteed lifetime" "technical lifetime" "mean time between failures" ) . + +:LinearCharacteristic a samm:Characteristic ; + samm:preferredName "Linear Characteristic"@en ; + samm:description "Characteristic for linear measurements of an item."@en ; + samm:dataType :LinearEntity . + +:MassCharacteristic a samm:Characteristic ; + samm:preferredName "Mass Characteristic"@en ; + samm:description "Characteristic for mass measurements of an item."@en ; + samm:dataType :MassEntity . + +:CapacityCharacteristic a samm:Characteristic ; + samm:preferredName "Capacity Characteristic"@en ; + samm:description "Characteristic for capacity measurements of an item."@en ; + samm:dataType :CapacityEntity . + +:EitherCharacteristic a samm-c:Either ; + samm:preferredName "Either Characteristic"@en ; + samm:description "Either a volume (left) or a weight (right) are mandatory."@en ; + samm-c:left :CapacityCharacteristic ; + samm-c:right :MassCharacteristic . + +:eori a samm:Property ; + samm:preferredName "EORI"@en ; + samm:description "An economic operator established in the customs territory of the Union needs, for customs purposes, an EORI number. EORI stands for economic operators registration and identification number. In this case, the importer's EORI must be provided. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex III:\n(j) information related to the importer, including the information referred to in Article 23(3) and its EORI number."@en ; + samm:see ; + samm:characteristic :EoriTrait ; + samm:exampleValue "GB123456789000" . + +:importerIdentification a samm:Property ; + samm:preferredName "Importer Identification"@en ; + samm:description "The importer of the product, if different from the owner of the passport. In the Catena-X network, the BPNL is used for the identification of companies and the information stored for this like contact information and addresses.\nThis attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex III:\n(j) information related to the importer, including the information referred to in Article 23(3) and its EORI number;\nArticle 23 states:\n(3) Importers shall indicate on the product their name, registered trade name or registered trade mark and the postal address and, where available, electronic means of communication, where they can be contacted or, where this is not possible, on the packaging, in a document accompanying the product or, where available, in a product passport. The contact details shall be clear, understandable and legible."@en ; + samm:characteristic :CompanyIdentification ; + samm:exampleValue "BPNL1234567890ZZ" . + +:CodeEnumeration a samm-c:Enumeration ; + samm:preferredName "Code Enumeration"@en ; + samm:description "Enumeration for GTIN, hash, DID, ISBN, TARIC or other."@en ; + samm:dataType xsd:string ; + samm-c:values ( "TARIC" "GTIN" "DID" "ISBN" "hash" "other" ) . + +:IdentifierEnumeration a samm-c:Enumeration ; + samm:preferredName "Identifier Enumeration"@en ; + samm:description "Enumeration with \"PartInstanceId\" \"BatchId\" and \"ModelId\"."@en ; + samm:dataType xsd:string ; + samm-c:values ( "PartInstanceId" "BatchId" "ModelId" ) . + +:UnitCatalog a samm:Characteristic ; + samm:preferredName "Unit Catalog"@en ; + samm:description "Link to the unit catalog with all possible units in the format \"unit:xxx\"."@en ; + samm:see ; + samm:dataType xsd:string . + +:DataTypeEnumeration a samm-c:Enumeration ; + samm:preferredName "Data Type Enumeration"@en ; + samm:description "Data type that describe the content of the attributes children and data. In case \"object\" is selected in the enumeration, the children field will be used in the AdditionalDataEntity instead of the \"data\" property. If it is an other type, the content will be specified in \"data\" as a string."@en ; + samm:see ; + samm:see ; + samm:dataType xsd:string ; + samm-c:values ( "array" "object" "xsd:string" "xsd:integer" "xsd:boolean" "xsd:double" "xsd:float" "xsd:byte" ) . + +:CodeConstraint a samm-c:RegularExpressionConstraint ; + samm:preferredName "Code Constraint"@en ; + samm:description "Constraint to limit the input to a valid ECLASS number. The constraint ensures that each pair of digits is followed by a hyphen, resulting in a pattern like \"00-00-00-00\" where the zeros can be replaced by any digit."@en ; + samm:value "^\\d{2}-\\d{2}-\\d{2}-\\d{2}$" . + +:PartList a samm-c:List ; + samm:preferredName "Part List"@en ; + samm:description "A list of spare parts with their respective identification and name."@en ; + samm:dataType :PartEntity . + +:ProducerList a samm-c:List ; + samm:preferredName "Producer List"@en ; + samm:description "List of possible spare part producer."@en ; + samm:dataType :ProducerEntity . + +:NameCharacteristic a samm:Characteristic ; + samm:preferredName "Name Characteristic"@en ; + samm:description "Name Characteristic for the definition of the name."@en ; + samm:dataType :NameEntity . + +:ConcentrationEnumeration a samm-c:Enumeration ; + samm:preferredName "Concentration Enumeration"@en ; + samm:description "Enumeration of possible units of concentration with percent, volume percent, parts per thousand, parts per million, parts per billion and parts per trillion."@en ; + samm:see ; + samm:dataType xsd:string ; + samm-c:values ( "unit:partPerMillion" "unit:percent" "unit:percentVolume" "unit:partPerThousand" "unit:partPerTrillionUs" "unit:partPerBillionUs" ) . + +:EitherConcentration a samm-c:Either ; + samm:preferredName "Either Concentration"@en ; + samm:description "Characteristic with two possible values. Either the concentration range, which can be either the range or only the maximum concentration (left) or a single concentration (right)."@en ; + samm-c:left :RangeCharacteristic ; + samm-c:right :ConcentrationCharacteristic . + +:IdList a samm-c:List ; + samm:preferredName "Id List"@en ; + samm:description "List of ids for the identification."@en ; + samm:dataType :IdEntity . + +:ConcentrationValue a samm-c:Quantifiable ; + samm:preferredName "Concentration Value"@en ; + samm:description "Float number representing a concentration."@en ; + samm:dataType xsd:float . + +:FootprintEntity a samm:Entity ; + samm:preferredName "Footprint Entity"@en ; + samm:description "Footprint Entity for the carbon and environmental footprint with the total value, unit, impact category type, lifecycle and rulebook."@en ; + samm:properties ( [ samm:property :footprintValue; samm:payloadName "value" ] [ samm:property :footprintRulebook; samm:payloadName "rulebook" ] [ samm:property :footprintLifecycle; samm:payloadName "lifecycle" ] [ samm:property :footprintUnit; samm:payloadName "unit" ] [ samm:property :footprintType; samm:payloadName "type" ] ) . + +:LinearEntity a samm:Entity ; + samm:preferredName "Linear Entity"@en ; + samm:description "Entity for linear measurements of an item with an unit and value."@en ; + samm:properties ( [ samm:property :dimensionValue; samm:payloadName "value" ] [ samm:property :linearUnit; samm:payloadName "unit" ] ) . + +:MassEntity a samm:Entity ; + samm:preferredName "Mass Entity"@en ; + samm:description "Entity for mass measurements of an item with an unit and value."@en ; + samm:properties ( [ samm:property :dimensionValue; samm:payloadName "value" ] [ samm:property :massUnit; samm:payloadName "unit" ] ) . + +:CapacityEntity a samm:Entity ; + samm:preferredName "Capacity Entity"@en ; + samm:description "Entity for capacity measurements of an item with an unit and value."@en ; + samm:properties ( [ samm:property :dimensionValue; samm:payloadName "value" ] [ samm:property :capacityUnit; samm:payloadName "unit" ] ) . + +:EoriTrait a samm-c:Trait ; + samm:preferredName "Eori Trait"@en ; + samm:description "Trait to limit the input to the specified format of an eori."@en ; + samm-c:baseCharacteristic :IdentifierCharacteristic ; + samm-c:constraint :EoriConstraint . + +:PartEntity a samm:Entity ; + samm:preferredName "Part Entity"@en ; + samm:description "Information regarding possible spare parts. This is mentioned in the ESPR proposal from March 30th, 2022 Annex I:\n(b) ease of repair and maintenance as expressed through: characteristics, availability and delivery time of spare parts, modularity, compatibility with commonly available spare parts, availability of repair and maintenance instructions, number of materials and components used, use of standard components, use of component and material coding standards for the identification of components and materials, number and complexity of processes and tools needed, ease of non-destructive disassembly and re-assembly, conditions for access to product data, conditions for access to or use of hardware and software needed;\n(c) the Global Trade Identification Number as provided for in standard ISO/IEC 15459-6 or equivalent of products or their parts."@en ; + samm:properties ( [ samm:property :partName; samm:optional true; samm:payloadName "name" ] [ samm:property :gtin; samm:optional true ] ) . + +:ProducerEntity a samm:Entity ; + samm:preferredName "Producer Entity"@en ; + samm:description "Entity for a possible spare part producer."@en ; + samm:properties ( [ samm:property :producerIdentification; samm:payloadName "id" ] ) . + +:NameEntity a samm:Entity ; + samm:preferredName "Name Entity"@en ; + samm:description "Entity with the name and used list type."@en ; + samm:properties ( :name [ samm:property :listTypeName; samm:payloadName "type" ] ) . + +:RangeCharacteristic a samm-c:List ; + samm:preferredName "Range Characteristic"@en ; + samm:description "Range characteristic with two values, the highest and the lowest of the concentration range. Only providing the maximum range is also possible."@en ; + samm:dataType :RangeEntity . + +:ConcentrationCharacteristic a samm:Characteristic ; + samm:preferredName "Concentration Characteristic"@en ; + samm:description "Single concentration characteristic for the actual concentration."@en ; + samm:dataType :SingleEntity . + +:IdEntity a samm:Entity ; + samm:preferredName "Id Entity"@en ; + samm:description "Id Entity with identifier and list type."@en ; + samm:properties ( :id [ samm:property :listTypeId; samm:payloadName "type" ] ) . + +:footprintValue a samm:Property ; + samm:preferredName "Footprint Value"@en ; + samm:description "The value of the environmental footprint or carbon footprint of the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex I:\n(l) the environmental footprint of the product, expressed as a quantification, in accordance with the applicable delegated act, of a product?s life cycle environmental impacts, whether in relation to one or more environmental impact categories or an aggregated set of impact categories;\n(m) the carbon footprint of the product.\n"@en ; + samm:characteristic :FootprintValueCharacteristic ; + samm:exampleValue "12.678"^^xsd:float . + +:footprintRulebook a samm:Property ; + samm:preferredName "Footprint Rulebook"@en ; + samm:description "The applied rulebook for the environmental footprint of the product."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "https://www.alink.pdf/" . + +:footprintLifecycle a samm:Property ; + samm:preferredName "Footprint Lifecycle"@en ; + samm:description "The lifecycle stage, to which the environmental footprint corresponds. These could be for example \"raw material acquisition and pre-processing\", \"main product production\", \"distribution\" or \"end of life and recycling\"."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "main product production" . + +:footprintUnit a samm:Property ; + samm:preferredName "Footprint Unit"@en ; + samm:description "The unit of measurement of the environmental impact category. For each impact category a specific unit is used. For climate change/carbon footprint \"kg CO2 eq\" will be used. If an aggregation is used, utilize the normalization and weighting methods used in the referenced rulebook."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "kg CO2 eq" . + +:footprintType a samm:Property ; + samm:preferredName "Footprint Type"@en ; + samm:description "The type of the environmental footprint of the product. This could be one of the environmental impact categories. For the carbon footprint chose the \"Climate Change\" category from the environmental impact categories. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex I:\n(l) the environmental footprint of the product, expressed as a quantification, in accordance with the applicable delegated act, of a product?s life cycle environmental impacts, whether in relation to one or more environmental impact categories or an aggregated set of impact categories.\n(m) the carbon footprint of the product."@en ; + samm:characteristic :CategoryEnumeration ; + samm:exampleValue "Climate Change" . + +:dimensionValue a samm:Property ; + samm:preferredName "Dimension Value"@en ; + samm:description "The value associated with the unit."@en ; + samm:characteristic :DimensionValueCharacteristic ; + samm:exampleValue "20.5"^^xsd:float . + +:linearUnit a samm:Property ; + samm:preferredName "Linear Unit"@en ; + samm:description "The unit of a physical dimensions attribute. For linear attributes possible units are millimetre, metre and centimetre."@en ; + samm:see ; + samm:characteristic :LinearUnitEnumeration ; + samm:exampleValue "unit:millimetre" . + +:massUnit a samm:Property ; + samm:preferredName "Mass Unit"@en ; + samm:description "The unit of a physical dimensions attribute. For mass attributes weight possible units are gram and kilogram."@en ; + samm:see ; + samm:characteristic :MassUnitEnumeration ; + samm:exampleValue "unit:kilogram" . + +:capacityUnit a samm:Property ; + samm:preferredName "Capacity Unit"@en ; + samm:description "The unit of a physical dimensions attribute. For capacity attributes the units are cubic metre, cubic centimetre, millilitre and litre."@en ; + samm:see ; + samm:characteristic :CapacityUnitEnumeration ; + samm:exampleValue "unit:litre" . + +:EoriConstraint a samm-c:RegularExpressionConstraint ; + samm:preferredName "EORI Constraint"@en ; + samm:description "Constraint with a pattern which ensures that the EORI number starts with two alphanumeric characters, followed by two alphabetic characters, and ends with 2 to 15 alphanumeric characters."@en ; + samm:value "^[A-Z]{2}[A-Z0-9]{1,18}$" . + +:partName a samm:Property ; + samm:preferredName "Part Name"@en ; + samm:description "The name of the spare part. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex I:\n(b) ease of repair and maintenance as expressed through: characteristics, availability and delivery time of spare parts, modularity, compatibility with commonly available spare parts, availability of repair and maintenance instructions, number of materials and components used, use of standard components, use of component and material coding standards for the identification of components and materials, number and complexity of processes and tools needed, ease of non-destructive disassembly and re-assembly, conditions for access to product data, conditions for access to or use of hardware and software needed."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "Aluminum Housing" . + +:gtin a samm:Property ; + samm:preferredName "GTIN"@en ; + samm:description "GTIN stands for Global Trade Item Number. It is a unique and internationally recognized identifier used to identify products in the global marketplace. GTINs are typically encoded in barcodes and are used by retailers, manufacturers, and suppliers to track and manage their products throughout the supply chain. Valid inputs are all GTIN versions (GTIN-8, GTIN-12, GTIN-13, and GTIN-14).This attribute is mentioned in the ESPR proposal from March 30th, 2022 Annex III:\n(c) the Global Trade Identification Number as provided for in standard ISO/IEC 15459-6 or equivalent of products or their parts."@en ; + samm:characteristic :GtinTrait ; + samm:exampleValue "12345678" . + +:producerIdentification a samm:Property ; + samm:preferredName "Producer Identification"@en ; + samm:description "The identifier of a spare part producer of the product. In the Catena-X network, the BPNL is used for the identification of companies and the information stored for this like contact information and addresses."@en ; + samm:characteristic :CompanyIdentification ; + samm:exampleValue "BPNL1234567890ZZ" . + +:name a samm:Property ; + samm:preferredName "Name"@en ; + samm:description "The name, in accordance with the specification in the attribute for the list type, which is present in the product."@en ; + samm:characteristic samm-c:Text ; + samm:exampleValue "phenolphthalein" . + +:listTypeName a samm:Property ; + samm:preferredName "List Type Name"@en ; + samm:description "The type of list used for the identification of the substances. Selected can be for example IUPAC, EC or CAS."@en ; + samm:characteristic :ListTypeEnumerationName ; + samm:exampleValue "CAS" . + +:RangeEntity a samm:Entity ; + samm:preferredName "Range Entity"@en ; + samm:description "Entity for the concentration range with two values, the highest and the lowest of the concentration range."@en ; + samm:properties ( [ samm:property :minConcentration; samm:optional true; samm:payloadName "min" ] [ samm:property :maxConcentration; samm:payloadName "max" ] ) . + +:SingleEntity a samm:Entity ; + samm:preferredName "Single Entity"@en ; + samm:description "Entity for a single concentration for the maximum or actual concentration."@en ; + samm:properties ( [ samm:property :concentrationSingle; samm:payloadName "value" ] ) . + +:id a samm:Property ; + samm:preferredName "Id"@en ; + samm:description "The substance identification, in accordance with the specification in the attribute for the list type."@en ; + samm:characteristic :IdentifierCharacteristic ; + samm:exampleValue "201-004-7" . + +:listTypeId a samm:Property ; + samm:preferredName "List Type Id"@en ; + samm:description "The type of list used for the identification of the substances. Selected can be for example CAS or EC."@en ; + samm:characteristic :ListTypeEnumerationId ; + samm:exampleValue "CAS" . + +:FootprintValueCharacteristic a samm-c:Quantifiable ; + samm:preferredName "Footprint Value Characteristic"@en ; + samm:description "The value corresponding to the environmental footprint associated with the unit."@en ; + samm:dataType xsd:float . + +:CategoryEnumeration a samm-c:Enumeration ; + samm:preferredName "Category Enumeration"@en ; + samm:description "Enumeration of the 19 impact categories in accordance to EN15804+A2."@en ; + samm:dataType xsd:string ; + samm-c:values ( "Climate Change Total" "Climate Change Fossil" "Climate Change Biogenic Removals and Emissions" "Climate Change Land Use and Land Use Change" "Ozone Depletion" "Acidification" "Eutrophication Aquatic Freshwater" "Eutrophication Fresh Marine" "Eutrophication Terrestrial" "Photochemical Ozone Formation" "Abiotic Depletion- Minerals and Metals" "Fossil Fuels" "Water Use" "Particulate Matter Emissions" "Ionizing Radiation, Human Health" "Eco-Toxicity" "Human Toxicity, Cancer Effects" "Human Toxicity, Non-Cancer Effects" "Land Use Related Impacts/Soil Quality" ) . + +:DimensionValueCharacteristic a samm-c:Quantifiable ; + samm:preferredName "Dimension Value Characteristic"@en ; + samm:description "The value associated with the unit expressed as float."@en ; + samm:dataType xsd:float . + +:LinearUnitEnumeration a samm-c:Enumeration ; + samm:preferredName "Linear Unit Enumeration"@en ; + samm:description "The unit of a linear attribute. For height, width, length and diameter possible units are millimetre, centimetre and metre."@en ; + samm:see ; + samm:dataType xsd:string ; + samm-c:values ( "unit:millimetre" "unit:metre" "unit:centimetre" ) . + +:MassUnitEnumeration a samm-c:Enumeration ; + samm:preferredName "Mass Unit Enumeration"@en ; + samm:description "Enumeration for mass units with kilogram and gram."@en ; + samm:see ; + samm:dataType xsd:string ; + samm-c:values ( "unit:kilogram" "unit:gram" ) . + +:CapacityUnitEnumeration a samm-c:Enumeration ; + samm:preferredName "Capacity Unit Enumeration"@en ; + samm:description "Enumeration for capacity units."@en ; + samm:see ; + samm:dataType xsd:string ; + samm-c:values ( "unit:cubicMetre" "unit:litre" "unit:millilitre" "unit:cubicCentimetre" ) . + +:GtinTrait a samm-c:Trait ; + samm:preferredName "Gtin Trait"@en ; + samm:description "Trait to limit the input to the specified format of a gtin."@en ; + samm-c:baseCharacteristic :IdentifierCharacteristic ; + samm-c:constraint :GtinConstraint . + +:ListTypeEnumerationName a samm-c:Enumeration ; + samm:preferredName "List Type Enumeration Name"@en ; + samm:description "Enumeration of different systems and organizations related to the identification and classification of chemical substances in the field of chemistry. The enumeration values are IUPAC, EC or CAS."@en ; + samm:see ; + samm:see ; + samm:dataType xsd:string ; + samm-c:values ( "IUPAC" "CAS" "EC" ) . + +:minConcentration a samm:Property ; + samm:preferredName "Minimum Concentration"@en ; + samm:description "The minimum concentration of the substance of concern at the level of the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 7:\n(5) (c) [...] concentration range of the substances of concern, at the level of the product [...]."@en ; + samm:characteristic :ConcentrationValue ; + samm:exampleValue "2.1"^^xsd:float . + +:maxConcentration a samm:Property ; + samm:preferredName "Maximum Concentration"@en ; + samm:description "The maximum concentration of the substance of concern at the level of the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 7:\n(5) (c) the concentration, maximum concentration or concentration range of the substances of concern, at the level of the product [...]."@en ; + samm:characteristic :ConcentrationValue ; + samm:exampleValue "2.6"^^xsd:float . + +:concentrationSingle a samm:Property ; + samm:preferredName "Concentration Single"@en ; + samm:description "Concentration of the substance of concern at the level of the product. This attribute is mentioned in the ESPR proposal from March 30th, 2022 Article 7:\n(5) (c) the concentration [...] of the substances of concern, at the level of the product [...]."@en ; + samm:characteristic :ConcentrationValue ; + samm:exampleValue "2.41"^^xsd:float . + +:ListTypeEnumerationId a samm-c:Enumeration ; + samm:preferredName "List Type Enumeration Id"@en ; + samm:description "Enumeration of different systems and organizations related to the identification and classification of chemical substances in the field of chemistry. The enumeration values are EC or CAS."@en ; + samm:see ; + samm:dataType xsd:string ; + samm-c:values ( "CAS" "EC" ) . + +:GtinConstraint a samm-c:RegularExpressionConstraint ; + samm:preferredName "GTIN Constraint"@en ; + samm:description "This pattern allows for matching any GTIN version by specifying the required number of digits for each version."@en ; + samm:value "^(?:\\d{8}|\\d{12}|\\d{13}|\\d{14})$" . + diff --git a/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/Pcf-3.0.0.ttl b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/Pcf-3.0.0.ttl new file mode 100644 index 00000000..fc5726d8 --- /dev/null +++ b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/Pcf-3.0.0.ttl @@ -0,0 +1,628 @@ +####################################################################### +# Copyright (c) 2022, 2023 ZF Friedrichshafen AG +# Copyright (c) 2022, 2023 T-Systems International GmbH +# Copyright (c) 2022, 2023 Robert Bosch Manufacturing Solutions GmbH +# Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This work is made available under the terms of the +# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, +# which is available at +# https://creativecommons.org/licenses/by/4.0/legalcode. +# +# SPDX-License-Identifier: CC-BY-4.0 +####################################################################### + +@prefix bamm: . +@prefix bamm-c: . +@prefix bamm-e: . +@prefix unit: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix : . + +:Pcf a bamm:Aspect ; + bamm:preferredName "Product (Carbon) Footprint"@en ; + bamm:description "Normative: Each Product (Carbon) Footprint represents the carbon footprint of a product with values in accordance with the WBCSD (World Business Council for Sustainable Development)/ Pathfinder framework. Non-normative: Each Product Footprint relates to a specific product, identified by one or more product identifiers. The Product Footprint is modeled as a multi purpose container for product-specific factors."@en ; + bamm:see ; + bamm:properties ( [ bamm:property :id; bamm:payloadName "id" ] + [ bamm:property :specVersion; bamm:payloadName "specVersion" ] + [ bamm:property :productFootprintVersion; bamm:payloadName "version" ] + [ bamm:property :updated; bamm:optional true; bamm:payloadName "updated" ] + [ bamm:property :companyName; bamm:payloadName "companyName" ] + [ bamm:property :companyIds; bamm:payloadName "companyIds" ] + [ bamm:property :productDescription; bamm:payloadName "productDescription" ] + [ bamm:property :productIds; bamm:payloadName "productIds" ] + [ bamm:property :productCategoryCpc; bamm:payloadName "productCategoryCpc" ] + [ bamm:property :productNameCompany; bamm:payloadName "productNameCompany" ] + [ bamm:property :comment; bamm:payloadName "comment" ] + [ bamm:property :pcf; bamm:payloadName "pcf" ] + :created ) ; + bamm:operations ( ) ; + bamm:events ( ) ; + bamm:name "Pcf" . + +:id a bamm:Property ; + bamm:preferredName "Product Footprint Identifier"@en ; + bamm:description "The product footprint identifier as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic :IdTrait ; + bamm:exampleValue "3893bb5d-da16-4dc1-9185-11d97476c254" ; + bamm:name "id" . + +:specVersion a bamm:Property ; + bamm:preferredName "Product Footprint Specification Version"@en ; + bamm:description "Version of the product footprint data specification. The value MUST be \"1.0.0\". Note: subsequent revisions of the product footprint data specification will update this value according to the rules of Semantic Versioning 2.0.0."@en ; + bamm:see ; + bamm:characteristic :SpecVersionTrait ; + bamm:exampleValue "1.0.0" ; + bamm:name "specVersion" . + +:productFootprintVersion a bamm:Property ; + bamm:preferredName "Product Footprint Version"@en ; + bamm:description "Whenever a data owner or a host system updates a product footprint it must set the version to be by strictly greater than the value of all preceding footprints."@en ; + bamm:see ; + bamm:characteristic :ProductFootprintVersionCharacteristic ; + bamm:exampleValue "42"^^xsd:positiveInteger ; + bamm:name "productFootprintVersion" . + +:updated a bamm:Property ; + bamm:preferredName "Updated"@en ; + bamm:description "Timestamp of the product footprint update. A product footprint must not include this property if an update has never been performed. The timestamp must be in UTC (Universal Time Code)."@en ; + bamm:see ; + bamm:characteristic bamm-c:Timestamp ; + bamm:exampleValue "2022-05-22T21:47:35Z"^^xsd:dateTime ; + bamm:name "updated" . + +:companyName a bamm:Property ; + bamm:preferredName "Company Name"@en ; + bamm:description "Name of the company that is the ProductFootprint Data Owner."@en ; + bamm:see ; + bamm:characteristic :NonEmptyString ; + bamm:exampleValue "My Corp" ; + bamm:name "companyName" . + +:companyIds a bamm:Property ; + bamm:preferredName "Company IDs"@en ; + bamm:description "CompanyIds with value the non-empty set of Uniform Resource Names (URN)2. Each value of this set is supposed to uniquely identify the ProductFootprint Data Owner."@en ; + bamm:see ; + bamm:characteristic :CompanyIdsCharacteristic ; + bamm:exampleValue "urn:uuid:51131FB5-42A2-4267-A402-0ECFEFAD1619" ; + bamm:name "companyIds" . + +:productDescription a bamm:Property ; + bamm:preferredName "Product Description"@en ; + bamm:description "Free-form description of the product plus other information related to it such as production technology or packaging."@en ; + bamm:see ; + bamm:characteristic bamm-c:Text ; + bamm:exampleValue "Cote’d Or Ethanol" ; + bamm:name "productDescription" . + +:productIds a bamm:Property ; + bamm:preferredName "Product IDs"@en ; + bamm:description "Each of the values in the set is supposed to uniquely identify the product. "@en ; + bamm:see ; + bamm:characteristic :ProductIdsCharacteristic ; + bamm:exampleValue "urn:gtin:4712345060507" ; + bamm:name "productIds" . + +:productCategoryCpc a bamm:Property ; + bamm:preferredName "Product Category"@en ; + bamm:description "UN (United Nations) Product Classification Code (CPC - Central Classification Code) 3 that the given product belongs to."@en ; + bamm:see ; + bamm:characteristic bamm-c:Text ; + bamm:exampleValue "3342" ; + bamm:name "productCategoryCpc" . + +:productNameCompany a bamm:Property ; + bamm:preferredName "Product Trade Name"@en ; + bamm:description "Trade name of the product."@en ; + bamm:see ; + bamm:characteristic :NonEmptyString ; + bamm:exampleValue "Green Ethanol Volnay" ; + bamm:name "productNameCompany" . + +:comment a bamm:Property ; + bamm:preferredName "Comment"@en ; + bamm:description "Additional information and instructions related to the calculation of the footprint, or other information which informs the ability to interpret, to audit or to verify the Product Footprint."@en ; + bamm:see ; + bamm:characteristic bamm-c:Text ; + bamm:exampleValue "Comment for version 42." ; + bamm:name "comment" . + +:pcf a bamm:Property ; + bamm:preferredName "PCF (Product Carbon Footprint)"@en ; + bamm:description "A PCF (Product Carbon Footprint) represents the carbon footprint of a product and related data in accordance with the Pathfinder Framework."@en ; + bamm:see ; + bamm:characteristic :PcfCharacteristic ; + bamm:name "pcf" . + +:created a bamm:Property ; + bamm:preferredName "Validity Start"@en ; + bamm:description "Timestamp of the creation of the Product Footprint."@en ; + bamm:see ; + bamm:characteristic bamm-c:Timestamp ; + bamm:exampleValue "2022-05-22T21:47:32Z"^^xsd:dateTime ; + bamm:name "created" . + +:IdTrait a bamm-c:Trait ; + bamm-c:baseCharacteristic :IdCharacteristic ; + bamm-c:constraint :IdConstraint ; + bamm:name "IdTrait" . + +:SpecVersionTrait a bamm-c:Trait ; + bamm-c:baseCharacteristic bamm-c:Text ; + bamm-c:constraint :VersionConstraint ; + bamm:name "SpecVersionTrait" . + +:ProductFootprintVersionCharacteristic a bamm:Characteristic ; + bamm:preferredName "Product Footprint Version Characteristic"@en ; + bamm:description "Characteristic for defining a product footprint version as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType xsd:positiveInteger ; + bamm:name "ProductFootprintVersionCharacteristic" . + +:NonEmptyString a bamm:Characteristic ; + bamm:preferredName "Non Empty String"@en ; + bamm:description "String that contains at least one character."@en ; + bamm:dataType xsd:string ; + bamm:name "NonEmptyString" . + +:CompanyIdsCharacteristic a bamm-c:Set ; + bamm:preferredName "Company IDs Characteristic"@en ; + bamm:description "Characteristic for defining a list of company ids in context of a product footprint."@en ; + bamm:see ; + bamm:dataType xsd:string ; + bamm:name "CompanyIdsCharacteristic" . + +:ProductIdsCharacteristic a bamm-c:Set ; + bamm:preferredName "Product IDs Characteristic"@en ; + bamm:description "Characteristic for defining a lost of product ids in context of a product footprint."@en ; + bamm:see ; + bamm:dataType xsd:string ; + bamm:name "ProductIdsCharacteristic" . + +:PcfCharacteristic a bamm-c:SingleEntity ; + bamm:preferredName "PCF (Product Carbon Footprint) Characteristic"@en ; + bamm:description "Characteristic for defining a PCF (Product Carbon Footprint) as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType :PcfEntity ; + bamm:name "PcfCharacteristic" . + +:IdCharacteristic a bamm:Characteristic ; + bamm:preferredName "ID Characteristic"@en ; + bamm:description "Characteristic for defining a product footprint identifier as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType xsd:string ; + bamm:name "IdCharacteristic" . + +:IdConstraint a bamm-c:RegularExpressionConstraint ; + bamm:preferredName "ID Constraint"@en ; + bamm:description "Constraint for defining a product footprint identifier as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:value "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" ; + bamm:name "IdConstraint" . + +:VersionConstraint a bamm-c:RegularExpressionConstraint ; + bamm:preferredName "Version Constraint"@en ; + bamm:description "Constraint for defining a version of an artefact (e.g. a specification version) belonging to a product footprint as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:value "\\d+\\.\\d+\\.\\d+" ; + bamm:name "VersionConstraint" . + +:PcfEntity a bamm:Entity ; + bamm:preferredName "PCF (Product Carbon Footprint) Entity"@en ; + bamm:description "Entity for defining a PCF (Product Carbon Footprint) as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:properties ( [ bamm:property :declaredUnit; bamm:payloadName "declaredUnit" ] [ bamm:property :unitaryProductAmount; bamm:payloadName "unitaryProductAmount" ] [ bamm:property :fossilGhgEmissions; bamm:payloadName "fossilGhgEmissions" ] [ bamm:property :biogenicEmissions; bamm:optional true; bamm:payloadName "biogenicEmissions" ] [ bamm:property :biogenicCarbonContent; bamm:payloadName "biogenicCarbonContent" ] [ bamm:property :reportingPeriodStart; bamm:payloadName "reportingPeriodStart" ] [ bamm:property :reportingPeriodEnd; bamm:payloadName "reportingPeriodEnd" ] [ bamm:property :primaryDataShare; bamm:payloadName "primaryDataShare" ] [ bamm:property :emissionFactorSources; bamm:optional true; bamm:payloadName "emissionFactorSources" ] [ bamm:property :geographyCountrySubdivision; bamm:optional true; bamm:payloadName "geographyCountrySubdivision" ] [ bamm:property :geographyCountry; bamm:optional true; bamm:payloadName "geographyCountry" ] [ bamm:property :geographyRegionOrSubregion; bamm:optional true; bamm:payloadName "geographyRegionOrSubregion" ] [ bamm:property :boundaryProcessesDescription; bamm:optional true; bamm:payloadName "boundaryProcessesDescription" ] [ bamm:property :crossSectoralStandardsUsed; bamm:payloadName "crossSectoralStandardsUsed" ] [ bamm:property :productOrSectorSpecificRules; bamm:payloadName "productOrSectorSpecificRules" ] [ bamm:property :allocationRulesDescription; bamm:optional true; bamm:payloadName "allocationRulesDescription" ] ) ; + bamm:name "PcfEntity" . + +:declaredUnit a bamm:Property ; + bamm:preferredName "Unit of measurement"@en ; + bamm:description "unit of analysis of the product."@en ; + bamm:see ; + bamm:characteristic :DeclaredUnit ; + bamm:name "declaredUnit" . + +:unitaryProductAmount a bamm:Property ; + bamm:preferredName "Package size of referred product"@en ; + bamm:description "Amount of units contained within the product the PCF (Product Carbon Footprint) is referring to."@en ; + bamm:see ; + bamm:characteristic :StrictlyPositiveDecimal ; + bamm:exampleValue "1000.0"^^xsd:float ; + bamm:name "unitaryProductAmount" . + +:fossilGhgEmissions a bamm:Property ; + bamm:preferredName "Fossil Emissions"@en ; + bamm:description "Emissions from the combustion of fossil sources. "@en ; + bamm:see ; + bamm:characteristic :EmissionsTrait ; + bamm:name "fossilGhgEmissions" . + +:biogenicEmissions a bamm:Property ; + bamm:preferredName "Summary of land (change) emissions"@en ; + bamm:description "Biogenic emission factors."@en ; + bamm:see ; + bamm:characteristic :BiogenicEmissionCharacteristic ; + bamm:name "biogenicEmissions" . + +:biogenicCarbonContent a bamm:Property ; + bamm:preferredName "Biogenic Carbon Content"@en ; + bamm:description "Mass of biogenic carbon per given unit of exchange."@en ; + bamm:see ; + bamm:characteristic :EmissionsTrait ; + bamm:exampleValue "0.0"^^xsd:float ; + bamm:name "biogenicCarbonContent" . + +:reportingPeriodStart a bamm:Property ; + bamm:preferredName "Reporting Period (Start)"@en ; + bamm:description "Starting timestamp for the time scope of a PCF (Product Carbon Footprint)."@en ; + bamm:see ; + bamm:characteristic bamm-c:Timestamp ; + bamm:exampleValue "2021-01-01T00:00:00Z"^^xsd:dateTime ; + bamm:name "reportingPeriodStart" . + +:reportingPeriodEnd a bamm:Property ; + bamm:preferredName "Reporting Period (End excl.)"@en ; + bamm:description "Ending timestamp for the time scope of a product footprint as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic bamm-c:Timestamp ; + bamm:exampleValue "2022-01-01T00:00:00Z"^^xsd:dateTime ; + bamm:name "reportingPeriodEnd" . + +:primaryDataShare a bamm:Property ; + bamm:preferredName "Primary Data Share"@en ; + bamm:description "Share of primary data."@en ; + bamm:see ; + bamm:characteristic :PrimaryDataShareTrait ; + bamm:exampleValue "56.12"^^xsd:float ; + bamm:name "primaryDataShare" . + +:emissionFactorSources a bamm:Property ; + bamm:preferredName "Emission Factor Data Sources"@en ; + bamm:description "Emission factor databases accepted under Version 1 of the Pathfinder Framework (see the Pathfinder Framework Section 6.2)."@en ; + bamm:see ; + bamm:characteristic :EmissionFactorSourcesCharacteristic ; + bamm:name "emissionFactorSources" . + +:geographyCountrySubdivision a bamm:Property ; + bamm:preferredName "Subdivision"@en ; + bamm:description "Subdivision of a country. Value must be an ISO 3166-2 subdivision code as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic :GeographyCountrySubdivisionTrait ; + bamm:exampleValue "US-NY" ; + bamm:name "geographyCountrySubdivision" . + +:geographyCountry a bamm:Property ; + bamm:preferredName "Country"@en ; + bamm:description "Two letter country code. Value must conform to data type ISO 3166CC as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic :GeographyCountryTrait ; + bamm:exampleValue "DE" ; + bamm:name "geographyCountry" . + +:geographyRegionOrSubregion a bamm:Property ; + bamm:preferredName "Region"@en ; + bamm:description "Region according to list as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic :GeographyRegionOrSubregionCharacteristic ; + bamm:name "geographyRegionOrSubregion" . + +:boundaryProcessesDescription a bamm:Property ; + bamm:preferredName "Process Description"@en ; + bamm:description "Processes attributable to each lifecycle stage as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic bamm-c:Text ; + bamm:exampleValue "End-of-life included" ; + bamm:name "boundaryProcessesDescription" . + +:crossSectoralStandardsUsed a bamm:Property ; + bamm:preferredName "Cross Sectoral Standards Used"@en ; + bamm:description "Discloses the cross-sectoral standards applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic :CrossSectoralStandardsUsedListCharacteristic ; + bamm:name "crossSectoralStandardsUsed" . + +:productOrSectorSpecificRules a bamm:Property ; + bamm:preferredName "Product or Sector Specific Rules"@en ; + bamm:description "Product or sector specific rules applied for calculating or allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product Category Rules), including operators or pubishers and according rule names. Specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic :ProductOrSectorSpecificRuleSet ; + bamm:name "productOrSectorSpecificRules" . + +:allocationRulesDescription a bamm:Property ; + bamm:preferredName "Allocation Rules Used"@en ; + bamm:description "Allocation rules used and underlying reasoning as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic bamm-c:Text ; + bamm:exampleValue "Physical allocation. Mass of different outputs used." ; + bamm:name "allocationRulesDescription" . + +:DeclaredUnit a bamm-c:Enumeration ; + bamm:preferredName "Unit of Measurement"@en ; + bamm:description "Unit of analysis of the product with accepted values as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType xsd:string ; + bamm-c:values ( "liter" "kilogram" "cubic meter" "kilowatt hour" "megajoule" "ton kilometer" "square meter" ) ; + bamm:name "DeclaredUnit" . + +:StrictlyPositiveDecimal a bamm:Characteristic ; + bamm:preferredName "Strictly Positive Decimal"@en ; + bamm:description "A positive, non-zero decimal."@en ; + bamm:dataType xsd:float ; + bamm:name "StrictlyPositiveDecimal" . + +:EmissionsTrait a bamm-c:Trait ; + bamm:preferredName "Emissions Trait"@en ; + bamm:description "Trait for emissions in context of a PCF (Product Carbon Footprint)."@en ; + bamm-c:baseCharacteristic :EmissionCharacteristic ; + bamm-c:constraint :EmissionConstraint ; + bamm:name "EmissionsTrait" . + +:BiogenicEmissionCharacteristic a bamm-c:SingleEntity ; + bamm:preferredName "Biogenic Emission Characteristic"@en ; + bamm:description "Characteristic for defining the biogenic emissions of a PCF (Product Carbon Footprint) as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType :BiogenicEmissionEntity ; + bamm:name "BiogenicEmissionCharacteristic" . + +:PrimaryDataShareTrait a bamm-c:Trait ; + bamm-c:baseCharacteristic :PrimaryDataShareCharacteristic ; + bamm-c:constraint :PrimaryDataShareConstraint ; + bamm:name "PrimaryDataShareTrait" . + +:EmissionFactorSourcesCharacteristic a bamm-c:Set ; + bamm:preferredName "Emission Factor Sources Characteristic"@en ; + bamm:description "Characteristic for defining a list of emission factor databases for a product footprint as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType :EmissionFactorSourcesEntity ; + bamm:name "EmissionFactorSourcesCharacteristic" . + +:GeographyCountrySubdivisionTrait a bamm-c:Trait ; + bamm-c:baseCharacteristic :NonEmptyString ; + bamm-c:constraint :GeographyCountrySubdivisionConstraint ; + bamm:name "GeographyCountrySubdivisionTrait" . + +:GeographyCountryTrait a bamm-c:Trait ; + bamm-c:baseCharacteristic bamm-c:Text ; + bamm-c:constraint :GeographyCountryConstraint ; + bamm:name "GeographyCountryTrait" . + +:GeographyRegionOrSubregionCharacteristic a bamm-c:Enumeration ; + bamm:preferredName "Region Characteristic"@en ; + bamm:description "Characteristic for defining a list of valid regions as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType xsd:string ; + bamm-c:values ( "Africa" "Americas" "Asia" "Europe" "Oceania" "Australia and New Zealand" "Central Asia" "Eastern Asia" "Eastern Europe" "Latin America and the Caribbean" "Melanesia" "Micronesia" "Northern Africa" "Northern America" "Northern Europe" "Polynesia" "South-eastern Asia" "Southern Asia" "Southern Europe" "Sub-Saharan Africa" "Western Asia" "Western Europe" ) ; + bamm:name "GeographyRegionOrSubregionCharacteristic" . + +:CrossSectoralStandardsUsedListCharacteristic a bamm-c:List ; + bamm:preferredName "Cross Sectoral Standards Used Characteristic"@en ; + bamm:description "Characteristic for defining the list of valid accounting standards used for product carbon footprint calculation as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType :CrossSectoralStandardEntity ; + bamm:name "CrossSectoralStandardsUsedListCharacteristic" . + +:ProductOrSectorSpecificRuleSet a bamm-c:Set ; + bamm:preferredName "Product Or Sector Specific Rules Set"@en ; + bamm:description "Characteristic for defining the set of product or sector specific rules of a product carbon footprint as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType :ProductOrSectorSpecificRulesEntity ; + bamm:name "ProductOrSectorSpecificRuleSet" . + +:EmissionCharacteristic a bamm-c:Measurement ; + bamm:preferredName "Emission Characteristic"@en ; + bamm:description "Characteristic for defining emissions in context of a PCF (Product Carbon Footprint) as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType xsd:float ; + bamm-c:unit :Emission ; + bamm:name "EmissionCharacteristic" . + +:EmissionConstraint a bamm-c:RangeConstraint ; + bamm:preferredName "EmissionConstraint"@en ; + bamm:description "Only positive emission values (>0) are valid "@en ; + bamm:see ; + bamm-c:minValue "0.0"^^xsd:float ; + bamm-c:lowerBoundDefinition bamm-c:AT_LEAST ; + bamm-c:upperBoundDefinition bamm-c:LESS_THAN ; + bamm:name "EmissionConstraint" . + +:BiogenicEmissionEntity a bamm:Entity ; + bamm:preferredName "Biogenic Emission Entity"@en ; + bamm:description "Entity for biogenic emissions of a PCF (Product Carbon Footprint) as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:properties ( [ bamm:property :landUseEmissions; bamm:optional true; bamm:payloadName "landUseEmissions" ] [ bamm:property :otherEmissions; bamm:optional true; bamm:payloadName "otherEmissions" ] [ bamm:property :landUseChangeEmissions; bamm:optional true; bamm:payloadName "landUseChangeEmissions" ] ) ; + bamm:name "BiogenicEmissionEntity" . + +:PrimaryDataShareCharacteristic a bamm-c:Quantifiable ; + bamm:preferredName "Primary Data Share Characteristic"@en ; + bamm:description "Characteristic for defining the primary data share of a product footprint as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType xsd:float ; + bamm-c:unit unit:percent ; + bamm:name "PrimaryDataShareCharacteristic" . + +:PrimaryDataShareConstraint a bamm-c:RangeConstraint ; + bamm:preferredName "Primary Data Share Constraint"@en ; + bamm:description "Constraint for a primary data share of a product footprint which limit values between 0.0 and 100.0 as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm-c:minValue "0.0"^^xsd:float ; + bamm-c:maxValue "100.0"^^xsd:float ; + bamm-c:lowerBoundDefinition bamm-c:AT_LEAST ; + bamm-c:upperBoundDefinition bamm-c:AT_MOST ; + bamm:name "PrimaryDataShareConstraint" . + +:EmissionFactorSourcesEntity a bamm:Entity ; + bamm:preferredName "Emission Factor Sources Entity"@en ; + bamm:description "Entity for defining a list of emission factor databases for a product footprint incl. their names and versions as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:properties ( [ bamm:property :name; bamm:payloadName "name" ] [ bamm:property :version; bamm:payloadName "version" ] ) ; + bamm:name "EmissionFactorSourcesEntity" . + +:GeographyCountrySubdivisionConstraint a bamm-c:RegularExpressionConstraint ; + bamm:preferredName "Subdivision Constraint"@en ; + bamm:description "Constraint for defining a geography country subdivision in compliance to ISO 3166-2 as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:value "([A-Z]{2}-[A-Z0-9]{1,3}|)" ; + bamm:name "GeographyCountrySubdivisionConstraint" . + +:GeographyCountryConstraint a bamm-c:RegularExpressionConstraint ; + bamm:preferredName "Country Constraint"@en ; + bamm:description "Constraint for defining a geography country conform to ISO 3166CC as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:value "([A-Z]{2})" ; + bamm:name "GeographyCountryConstraint" . + +:CrossSectoralStandardEntity a bamm:Entity ; + bamm:preferredName "Cross Sectoral Standard Entity"@en ; + bamm:description "Entity for defining an accounting standard used for product carbon footprint calculation as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:properties ( [ bamm:property :crossSectoralStandard; bamm:payloadName "crossSectoralStandard" ] ) ; + bamm:name "CrossSectoralStandardEntity" . + +:ProductOrSectorSpecificRulesEntity a bamm:Entity ; + bamm:preferredName "Product Or Sector Specific Rules Entity"@en ; + bamm:description "Entity for defining the set of values for the product or sector specific rules of a product carbon footprint as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:properties ( [ bamm:property :operator; bamm:payloadName "operator" ] [ bamm:property :ruleNames; bamm:payloadName "ruleNames" ] [ bamm:property :otherOperatorName; bamm:optional true; bamm:payloadName "otherOperatorName" ] ) ; + bamm:name "ProductOrSectorSpecificRulesEntity" . + +:Emission a bamm:Unit ; + bamm:preferredName "Emission"@en ; + bamm:name "Emission" ; + bamm:symbol "kgCO2e/kg" . + +:landUseEmissions a bamm:Property ; + bamm:preferredName "Land Use Emissions"@en ; + bamm:description "Land use emissions (e.g. cultural practice)."@en ; + bamm:see ; + bamm:characteristic :EmissionsTrait ; + bamm:exampleValue "0.001"^^xsd:float ; + bamm:name "landUseEmissions" . + +:otherEmissions a bamm:Property ; + bamm:preferredName "Other Emissions"@en ; + bamm:description "Other emissions (e.g. biogenic waste treatment)."@en ; + bamm:see ; + bamm:characteristic :EmissionsTrait ; + bamm:exampleValue "0.0"^^xsd:float ; + bamm:name "otherEmissions" . + +:landUseChangeEmissions a bamm:Property ; + bamm:preferredName "Land Use Change Emissions"@en ; + bamm:description "Land use change emissions. As specified by WBCSD (World Business Council for Sustainable Development) this value must include direct land use change (dLUC) where available, otherwise statistical land use change (sLUC) can be used. If available, including indirect land use change (iLUC) to remain optional. "@en ; + bamm:see ; + bamm:characteristic :EmissionsTrait ; + bamm:exampleValue "200.3"^^xsd:float ; + bamm:name "landUseChangeEmissions" . + +:name a bamm:Property ; + bamm:preferredName "Name of Secondary Data Source"@en ; + bamm:description "Secondary data sources used (mandatory if applicable) and information on which life cycle stages the sources were used for."@en ; + bamm:see ; + bamm:characteristic :NonEmptyString ; + bamm:exampleValue "Ecoinvent" ; + bamm:name "name" . + +:version a bamm:Property ; + bamm:preferredName "Version of Secondary Data Source"@en ; + bamm:description "Secondary data sources version (mandatory if applicable)."@en ; + bamm:see ; + bamm:characteristic :NonEmptyString ; + bamm:exampleValue "1.2.3" ; + bamm:name "version" . + +:crossSectoralStandard a bamm:Property ; + bamm:preferredName "Cross Sectoral Standard"@en ; + bamm:description "Discloses a cross-sectoral standard applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic :CrossSectoralStandardsUsedEnumerationCharacteristic ; + bamm:name "crossSectoralStandard" . + +:operator a bamm:Property ; + bamm:preferredName "Operator or Publisher of Sector Specific Rules"@en ; + bamm:description "Operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic :ProductOrSectorSpecificRuleOperator ; + bamm:name "operator" . + +:ruleNames a bamm:Property ; + bamm:preferredName "Product or Sector Specific Rule Names"@en ; + bamm:description "Product-specific or sector-specific set of rules used for calculating or allocating GHG (Greenhouse Gas) emissions applied from the specified operator. Property defined by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic :RuleNamesTrait ; + bamm:exampleValue "ABC 2021" ; + bamm:name "ruleNames" . + +:otherOperatorName a bamm:Property ; + bamm:preferredName "Other Operator or Publisher of Sector Specific Rules"@en ; + bamm:description "Other operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic bamm-c:Text ; + bamm:exampleValue "NSF" ; + bamm:name "otherOperatorName" . + +:CrossSectoralStandardsUsedEnumerationCharacteristic a bamm-c:Enumeration ; + bamm:preferredName "Cross Sectoral Standards Used Enumeration Characteristic"@en ; + bamm:description "Characteristic for defining the enumeration of valid accounting standards used for product carbon footprint calculation as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType xsd:string ; + bamm-c:values ( "GHG Protocol Product standard" "ISO Standard 14067" "ISO Standard 14044" ) ; + bamm:name "CrossSectoralStandardsUsedEnumerationCharacteristic" . + +:ProductOrSectorSpecificRuleOperator a bamm-c:Enumeration ; + bamm:preferredName "Product Or Sector Specific Rule Operator"@en ; + bamm:description "Enumeration of PCR (Product Category Rule) operators as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:dataType xsd:string ; + bamm-c:values ( "PEF" "EPD International" "Other" ) ; + bamm:name "ProductOrSectorSpecificRuleOperator" . + +:RuleNamesTrait a bamm-c:Trait ; + bamm:preferredName "Rule Names Trait"@en ; + bamm:description "Trait to ensure non-empty set of rule names."@en ; + bamm-c:baseCharacteristic :RuleNamesCharacteristic ; + bamm-c:constraint :RuleNamesConstraint ; + bamm:name "RuleNamesTrait" . + +:RuleNamesCharacteristic a bamm-c:Set ; + bamm:preferredName "Rule Names Characteristic"@en ; + bamm:description "Non-empty set of rules applied by the specified operator. Defined by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm-c:elementCharacteristic :NonEmptyString ; + bamm:name "RuleNamesCharacteristic" . + +:RuleNamesConstraint a bamm-c:LengthConstraint ; + bamm:preferredName "Rule Names Constraint"@en ; + bamm:description "Constraint for defining a non-empty set of non-empty rule names as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm-c:minValue "1"^^xsd:nonNegativeInteger ; + bamm:name "RuleNamesConstraint" . + +:NonEmptyStringTrait a bamm-c:Trait ; + bamm-c:baseCharacteristic :NonEmptyString ; + bamm-c:constraint :NonEmptyStringConstraint ; + bamm:name "NonEmptyStringTrait" . + +:NonEmptyStringConstraint a bamm-c:LengthConstraint ; + bamm:preferredName "Non Empty String Constraint"@en ; + bamm:description "Constraint for ensuring that a string has at least one character."@en ; + bamm-c:minValue "1"^^xsd:nonNegativeInteger ; + bamm:name "NonEmptyStringConstraint" . + +:StrictlyPositiveDecimalTrait a bamm-c:Trait ; + bamm-c:baseCharacteristic :StrictlyPositiveDecimal ; + bamm-c:constraint :StrictlyPositiveDecimalConstraint ; + bamm:name "StrictlyPositiveDecimalTrait" . + +:StrictlyPositiveDecimalConstraint a bamm-c:RangeConstraint ; + bamm:preferredName "Strictly Positive Decimal Constraint"@en ; + bamm:description "Constraint for defining a positive, non-zero decimal."@en ; + bamm-c:minValue "0.0"^^xsd:float ; + bamm-c:lowerBoundDefinition bamm-c:GREATER_THAN ; + bamm-c:upperBoundDefinition bamm-c:LESS_THAN ; + bamm:name "StrictlyPositiveDecimalConstraint" . + diff --git a/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/PhysicalDimensions-2.0.0.ttl b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/PhysicalDimensions-2.0.0.ttl new file mode 100644 index 00000000..3986adf2 --- /dev/null +++ b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/PhysicalDimensions-2.0.0.ttl @@ -0,0 +1,105 @@ +####################################################################### +# Copyright (c) 2023 T-Systems International GmbH +# Copyright (c) 2023 Robert Bosch Manufacturing Solutions GmbH +# Copyright (c) 2023 Fraunhofer-Institut für Produktionstechnik und Automatisierung +# Copyright (c) 2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This work is made available under the terms of the +# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, +# which is available at +# https://creativecommons.org/licenses/by/4.0/legalcode. +# +# SPDX-License-Identifier: CC-BY-4.0 +####################################################################### + +@prefix bamm: . +@prefix bamm-c: . +@prefix bamm-e: . +@prefix unit: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix : . + +:length a bamm:Property; + bamm:name "length"; + bamm:preferredName "length"@en; + bamm:description "Length of the item."@en; + bamm:characteristic :MillimetreCharacteristic; + bamm:exampleValue "20000.10"^^xsd:double. +:MillimetreCharacteristic a bamm-c:Measurement; + bamm:name "MillimetreCharacteristic"; + bamm:preferredName "millimetre characteristic"@en; + bamm:description "a measurement for a lenght given in the unit millimetre"@en; + bamm:dataType xsd:double; + bamm-c:unit unit:millimetre. +:width a bamm:Property; + bamm:name "width"; + bamm:preferredName "width"@en; + bamm:description "Width of the item."@en; + bamm:characteristic :MillimetreCharacteristic; + bamm:exampleValue "1000.00"^^xsd:double. +:height a bamm:Property; + bamm:name "height"; + bamm:preferredName "height"@en; + bamm:description "Height of the item."@en; + bamm:characteristic :MillimetreCharacteristic; + bamm:exampleValue "0.10"^^xsd:double. +:diameter a bamm:Property; + bamm:name "diameter"; + bamm:preferredName "diameter"@en; + bamm:description "Diameter of the item."@en; + bamm:characteristic :MillimetreCharacteristic; + bamm:exampleValue "0.03"^^xsd:double. +:weight a bamm:Property; + bamm:name "weight"; + bamm:preferredName "weight"@en; + bamm:description "Weight of the item"@en; + bamm:characteristic :KilogramCharacteristic; + bamm:exampleValue "100.70"^^xsd:double. +:KilogramCharacteristic a bamm-c:Measurement; + bamm:name "KilogramCharacteristic"; + bamm:preferredName "kilogram characteristic"@en; + bamm:description "a measurement value given in the unit kilogram"@en; + bamm:dataType xsd:double; + bamm-c:unit unit:kilogram. +:PhysicalDimensions a bamm:Aspect; + bamm:name "PhysicalDimensions"; + bamm:preferredName "physical dimensions"@en; + bamm:description "Describes the physical dimensions of then entity."@en; + bamm:properties (:physicalDimensionsProperty); + bamm:operations (); + bamm:events (). +:physicalDimensionsProperty a bamm:Property; + bamm:name "physicalDimensionsProperty"; + bamm:preferredName "physical dimensions"@en; + bamm:description "Describes the physical dimensions of then entity."@en; + bamm:characteristic :PhysicalDimensionsCharacteristic. +:PhysicalDimensionsCharacteristic a bamm:Characteristic; + bamm:name "PhysicalDimensionsCharacteristic"; + bamm:preferredName "physical dimensions"@en; + bamm:description "Describes the physical dimensions of then entity."@en; + bamm:dataType :PhysicalDimensionsEntity. +:PhysicalDimensionsEntity a bamm:Entity; + bamm:name "PhysicalDimensionsEntity"; + bamm:preferredName "physical dimensions"@en; + bamm:description "Entity encapsulating the physical dimensions of an object."@en; + bamm:properties ([ + bamm:property :weight; + bamm:optional "true"^^xsd:boolean +] [ + bamm:property :diameter; + bamm:optional "true"^^xsd:boolean +] [ + bamm:property :height; + bamm:optional "true"^^xsd:boolean +] [ + bamm:property :width; + bamm:optional "true"^^xsd:boolean +] [ + bamm:property :length; + bamm:optional "true"^^xsd:boolean +]). diff --git a/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/SerialPartTypization-2.0.0.ttl b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/SerialPartTypization-2.0.0.ttl new file mode 100644 index 00000000..a7ad3590 --- /dev/null +++ b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/SerialPartTypization-2.0.0.ttl @@ -0,0 +1,237 @@ +####################################################################### +# Copyright (c) 2022,2023 BASF SE +# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +# Copyright (c) 2022,2023 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST & Fraunhofer IML) +# Copyright (c) 2022,2023 German Edge Cloud GmbH & Co. KG +# Copyright (c) 2022,2023 Henkel AG & Co. KGaA +# Copyright (c) 2022,2023 Mercedes Benz AG +# Copyright (c) 2022,2023 Robert Bosch Manufacturing Solutions GmbH +# Copyright (c) 2022,2023 SAP SE +# Copyright (c) 2022,2023 Siemens AG +# Copyright (c) 2022,2023 T-Systems International GmbH +# Copyright (c) 2022,2023 ZF Friedrichshafen AG +# Copyright (c) 2022,2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This work is made available under the terms of the +# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, +# which is available at +# https://creativecommons.org/licenses/by/4.0/legalcode. +# +# SPDX-License-Identifier: CC-BY-4.0 +####################################################################### + +@prefix bamm: . +@prefix bamm-c: . +@prefix bamm-e: . +@prefix unit: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix : . + +:SerialPartTypization a bamm:Aspect ; + bamm:preferredName "Serial Part Typization"@en ; + bamm:description "A serialized part is an instantiation of a (design-) part, where the particular instantiation can be uniquely identified by means of a serial numbers or a similar identifier (e.g. VAN) or a combination of multiple identifiers (e.g. combination of manufacturer, date and number)"@en ; + bamm:properties ( :catenaXId :localIdentifiers :manufacturingInformation :partTypeInformation ) ; + bamm:operations ( ) ; + bamm:name "SerialPartTypization" . + +:catenaXId a bamm:Property ; + bamm:preferredName "Catena-X Identifier"@en ; + bamm:description "The fully anonymous Catena-X ID of the serialized part, valid for the Catena-X dataspace."@en ; + bamm:characteristic :CatenaXIdTrait ; + bamm:exampleValue "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379" ; + bamm:name "catenaXId" . + +:localIdentifiers a bamm:Property ; + bamm:preferredName "Local Identifiers"@en ; + bamm:description "A local identifier enables identification of a part in a specific dataspace, but is not unique in Catena-X dataspace. Multiple local identifiers may exist."@en ; + bamm:characteristic :LocalIdentifierCharacteristic ; + bamm:name "localIdentifiers" . + +:manufacturingInformation a bamm:Property ; + bamm:preferredName "Manufacturing Information"@en ; + bamm:description "Information from manufacturing process, such as manufacturing date and manufacturing country"@en ; + bamm:characteristic :ManufacturingCharacteristic ; + bamm:name "manufacturingInformation" . + +:partTypeInformation a bamm:Property ; + bamm:preferredName "Part Type Information"@en ; + bamm:description "The part type from which the serialized part has been instantiated"@en ; + bamm:characteristic :PartTypeInformationCharacteristic ; + bamm:name "partTypeInformation" . + +:CatenaXIdTrait a bamm-c:Trait ; + bamm:preferredName "Catena-X ID Trait"@en ; + bamm:description "Trait to ensure data format for Catena-X ID"@en ; + bamm-c:baseCharacteristic :UUIDv4 ; + bamm-c:constraint :UUIDv4RegularExpression ; + bamm:name "CatenaXIdTrait" . + +:LocalIdentifierCharacteristic a bamm-c:Set ; + bamm:preferredName "Local Identifier Characteristic"@en ; + bamm:description "A single serialized part may have multiple attributes, that uniquely identify a that part in a specific dataspace (e.g. the manufacturer`s dataspace)"@en ; + bamm:dataType :KeyValueList ; + bamm:name "LocalIdentifierCharacteristic" . + +:ManufacturingCharacteristic a bamm:Characteristic ; + bamm:preferredName "Manufacturing Characteristic"@en ; + bamm:description "Characteristic to describe manufacturing related data"@en ; + bamm:dataType :ManufacturingEntity ; + bamm:name "ManufacturingCharacteristic" . + +:PartTypeInformationCharacteristic a bamm:Characteristic ; + bamm:preferredName "Part Type Information Characteristic"@en ; + bamm:description "The characteristics of the part type"@en ; + bamm:dataType :PartTypeInformationEntity ; + bamm:name "PartTypeInformationCharacteristic" . + +:UUIDv4 a bamm:Characteristic ; + bamm:preferredName "UUIDv4"@en ; + bamm:description "A version 4 UUID is a universally unique identifier that is generated using random 32 hexadecimal characters."@en ; + bamm:dataType xsd:string ; + bamm:name "UUIDv4" . + +:UUIDv4RegularExpression a bamm-c:RegularExpressionConstraint ; + bamm:preferredName "Catena-X Id Regular Expression"@en ; + bamm:description "The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by \"urn:uuid:\" to make it an IRI."@en ; + bamm:see ; + bamm:value "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" ; + bamm:name "UUIDv4RegularExpression" . + +:KeyValueList a bamm:Entity ; + bamm:preferredName "Key Value List"@en ; + bamm:description "A list of key value pairs for local identifiers, which are composed of a key and a corresponding value."@en ; + bamm:properties ( :key :value ) ; + bamm:name "KeyValueList" . + +:ManufacturingEntity a bamm:Entity ; + bamm:preferredName "Manufacturing Entity"@en ; + bamm:description "Encapsulates the manufacturing relevant attributes"@en ; + bamm:properties ( :date [ bamm:property :country; bamm:optional true ] ) ; + bamm:name "ManufacturingEntity" . + +:PartTypeInformationEntity a bamm:Entity ; + bamm:preferredName "Part Type Information Entity"@en ; + bamm:description "Encapsulation for data related to the part type"@en ; + bamm:properties ( :manufacturerPartId [ bamm:property :customerPartId; bamm:optional true ] :nameAtManufacturer [ bamm:property :nameAtCustomer; bamm:optional true ] :classification ) ; + bamm:name "PartTypeInformationEntity" . + +:key a bamm:Property ; + bamm:preferredName "Identifier Key"@en ; + bamm:description "The key of a local identifier. "@en ; + bamm:characteristic :KeyCharacteristic ; + bamm:exampleValue "PartInstanceID" ; + bamm:name "key" . + +:value a bamm:Property ; + bamm:preferredName "Identifier Value"@en ; + bamm:description "The value of an identifier."@en ; + bamm:characteristic :ValueCharacteristic ; + bamm:exampleValue "SN12345678" ; + bamm:name "value" . + +:date a bamm:Property ; + bamm:preferredName "Production Date"@en ; + bamm:description "Timestamp of the manufacturing date as the final step in production process (e.g. final quality check, ready-for-shipment event)"@en ; + bamm:characteristic bamm-c:Timestamp ; + bamm:exampleValue "2022-02-04T14:48:54"^^xsd:dateTime ; + bamm:name "date" . + +:country a bamm:Property ; + bamm:preferredName "Country code"@en ; + bamm:description "Country code where the part was manufactured"@en ; + bamm:characteristic :ProductionCountryCodeTrait ; + bamm:exampleValue "HUR" ; + bamm:name "country" . + +:manufacturerPartId a bamm:Property ; + bamm:preferredName "Manufacturer Part ID"@en ; + bamm:description "Part ID as assigned by the manufacturer of the part. The Part ID identifies the part (as designed) in the manufacturer`s dataspace. The Part ID does not reference a specific instance of a part and thus should not be confused with the serial number."@en ; + bamm:characteristic :PartIdCharacteristic ; + bamm:exampleValue "123-0.740-3434-A" ; + bamm:name "manufacturerPartId" . + +:customerPartId a bamm:Property ; + bamm:preferredName "Customer Part ID"@en ; + bamm:description "Part ID as assigned by the manufacturer of the part. The Part ID identifies the part (as designed) in the customer`s dataspace. The Part ID does not reference a specific instance of a part and thus should not be confused with the serial number."@en ; + bamm:characteristic :PartIdCharacteristic ; + bamm:exampleValue "PRT-12345" ; + bamm:name "customerPartId" . + +:nameAtManufacturer a bamm:Property ; + bamm:preferredName "Name at Manufacturer"@en ; + bamm:description "Name of the part as assigned by the manufacturer"@en ; + bamm:characteristic :PartNameCharacteristic ; + bamm:exampleValue "Mirror left" ; + bamm:name "nameAtManufacturer" . + +:nameAtCustomer a bamm:Property ; + bamm:preferredName "Name at Customer"@en ; + bamm:description "Name of the part as assigned by the customer"@en ; + bamm:characteristic :PartNameCharacteristic ; + bamm:exampleValue "side element A" ; + bamm:name "nameAtCustomer" . + +:classification a bamm:Property ; + bamm:preferredName "Classifcation"@en ; + bamm:description "The classification of the part type according to STEP standard definition"@en ; + bamm:characteristic :ClassificationCharacteristic ; + bamm:exampleValue "software" ; + bamm:name "classification" . + +:KeyCharacteristic a bamm:Characteristic ; + bamm:preferredName "Key Characteristic"@en ; + bamm:description "The key characteristic of a local identifier. A specific subset of keys is predefined, but additionally any other custom key is allowed. Predefined keys (to be used when applicable):\n- \"manufacturerId\" - The Business Partner Number (BPN) of the manufacturer. Value: BPN-Nummer\n- \"partInstanceId\" - The identifier of the manufacturer for the serialized instance of the part, e.g. the serial number\n- \"batchId\" - The identifier of the batch, to which the serialzed part belongs\n- \"van\" - The anonymized vehicle identification number (VIN). Value: anonymized VIN according to OEM anonymization rules. Note: If the key \"van\" is available, \"partInstanceId\" must also be available and hold the identical value."@en ; + bamm:dataType xsd:string ; + bamm:name "KeyCharacteristic" . + +:ValueCharacteristic a bamm:Characteristic ; + bamm:preferredName "Value Characteristic"@en ; + bamm:description "The value of an identifier."@en ; + bamm:dataType xsd:string ; + bamm:name "ValueCharacteristic" . + +:ProductionCountryCodeTrait a bamm-c:Trait ; + bamm:preferredName "Production Country Code Trait"@en ; + bamm:description "Trait to ensure standard data format for country code"@en ; + bamm-c:baseCharacteristic :CountryCodeCharacteristic ; + bamm-c:constraint :CountryCodeRegularExpression ; + bamm:name "ProductionCountryCodeTrait" . + +:PartIdCharacteristic a bamm:Characteristic ; + bamm:preferredName "Part ID Characteristic"@en ; + bamm:description "The part ID is a multi-character string, ususally assigned by an ERP system"@en ; + bamm:dataType xsd:string ; + bamm:name "PartIdCharacteristic" . + +:PartNameCharacteristic a bamm:Characteristic ; + bamm:preferredName "Part Name Characteristic"@en ; + bamm:description "Part Name in string format from the respective system in the value chain"@en ; + bamm:dataType xsd:string ; + bamm:name "PartNameCharacteristic" . + +:ClassificationCharacteristic a bamm-c:Enumeration ; + bamm:preferredName "Classification Characteristic"@en ; + bamm:description "A part type must be placed into one of the following classes: 'component', 'product', 'software', �assembly�, 'tool', or 'raw material'."@en ; + bamm:see ; + bamm:dataType xsd:string ; + bamm-c:values ( "product" "raw material" "software" "assembly" "tool" "component" ) ; + bamm:name "ClassificationCharacteristic" . + +:CountryCodeCharacteristic a bamm:Characteristic ; + bamm:preferredName "Country Code Characteristic"@en ; + bamm:description "ISO 3166-1 alpha-3 � three-letter country codes "@en ; + bamm:see ; + bamm:dataType xsd:string ; + bamm:name "CountryCodeCharacteristic" . + +:CountryCodeRegularExpression a bamm-c:RegularExpressionConstraint ; + bamm:preferredName "Country Code Regular Expression"@en ; + bamm:description "Regular Expression that ensures a three-letter code "@en ; + bamm:value "^[A-Z][A-Z][A-Z]$" ; + bamm:name "CountryCodeRegularExpression" . + diff --git a/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/TransmissionPass.ttl b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/TransmissionPass.ttl new file mode 100644 index 00000000..67f8dc70 --- /dev/null +++ b/backend/src/test/resources/org/eclipse/tractusx/semantics/hub/persistence/models/TransmissionPass.ttl @@ -0,0 +1,524 @@ +####################################################################### +# Copyright (c) 2023 BASF SE +# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft +# Copyright (c) 2023 Robert Bosch GmbH +# Copyright (c) 2023 Henkel AG & Co. KGaA +# Copyright (c) 2023 SAP SE +# Copyright (c) 2023 T-Systems International GmbH +# Copyright (c) 2023 ZF Friedrichshafen AG +# Copyright (c) 2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This work is made available under the terms of the +# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, +# which is available at +# https://creativecommons.org/licenses/by/4.0/legalcode. +# +# SPDX-License-Identifier: CC-BY-4.0 +####################################################################### + +@prefix bamm: . +@prefix bamm-c: . +@prefix bamm-e: . +@prefix unit: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix : . +@prefix ext-contact: . +@prefix ext-physical: . +@prefix ext-typization: . +@prefix ext-pcf: . + +:TransmissionPass a bamm:Aspect; + bamm:preferredName "Transmission Pass"@en; + bamm:description "The transmission passport corresponds to the digital product passport information required by the proposed Ecodesign Regulation (ESPR-2022) and describes the data that is collected and available during the lifespan of a transmission."@en; + bamm:properties (:sustainability :generalInformation :stateOfHealth :sparePartSupplier :productSpecificParameters :instructions :identification); + bamm:operations (); + bamm:events (). +:sustainability a bamm:Property; + bamm:preferredName "Sustainability"@en; + bamm:description "Sustainability details about the transmission."@en; + bamm:characteristic :Sustainability. +:generalInformation a bamm:Property; + bamm:preferredName "General Information"@en; + bamm:description "Property describing general information about the transmission."@en; + bamm:characteristic :GeneralInformation. +:stateOfHealth a bamm:Property; + bamm:preferredName "State of Health"@en; + bamm:description "State of health property describing several properties."@en; + bamm:characteristic :StateOfHealth. +:sparePartSupplier a bamm:Property; + bamm:preferredName "Spare Part Supplier"@en; + bamm:description "Details of the spare parts and suppliers of replacement parts / spare parts."@en; + bamm:characteristic :SparePartSupplier. +:productSpecificParameters a bamm:Property; + bamm:preferredName "Product Specific Parameters"@en; + bamm:description "Product specific parameters of the transmission."@en; + bamm:characteristic :ProductSpecificParameters. +:instructions a bamm:Property; + bamm:preferredName "Instructions"@en; + bamm:description "Instructions concerning the transmission."@en; + bamm:characteristic :Instructions. +:identification a bamm:Property; + bamm:preferredName "Identification"@en; + bamm:description "Identification parameters of the transmission."@en; + bamm:characteristic :Identification. +:manufacturerId a bamm:Property; + bamm:preferredName "Manufacturer ID"@en; + bamm:description "The ID of the transmission manufacturer in form of the unique BPN(L) number."@en; + bamm:characteristic bamm-c:Text; + bamm:exampleValue "BPNL1234567890ZZ". +:Sustainability a bamm:Characteristic; + bamm:preferredName "Sustainability Characteristic"@en; + bamm:description "Sustainability Characteristic to describe sustainability factors."@en; + bamm:dataType :SustainabilityDetails. +:GeneralInformation a bamm:Characteristic; + bamm:preferredName "General Information Characteristic"@en; + bamm:description "Characteristic for general information."@en; + bamm:dataType :GeneralInformationEntity. +:StateOfHealth a bamm:Characteristic; + bamm:preferredName "State of Health Characteristic"@en; + bamm:description "State of health characteristic describing several properties."@en; + bamm:dataType :StateOfHealthEntity. +:SparePartSupplier a bamm-c:List; + bamm:preferredName "Spare Part Supplier Characteristic"@en; + bamm:description "Characteristic for details of the spare parts and suppliers of replacement parts / spare parts."@en; + bamm:dataType :SparePartEntity. +:ProductSpecificParameters a bamm:Characteristic; + bamm:preferredName "Product Specific Parameters Characteristic"@en; + bamm:description "The Characteristic to describe product specific parameters of the transmission."@en; + bamm:dataType :ProductSpecificParametersEntity. +:warrantyPeriod a bamm:Property; + bamm:preferredName "Warranty Period"@en; + bamm:description "Commercial warranty period of the transmission (coupled to the Vehicle) in months."@en; + bamm:characteristic :WarrantyPeriod; + bamm:exampleValue "60.0"^^xsd:decimal; + bamm:see . +:WarrantyPeriod a bamm-c:Measurement; + bamm:preferredName "Warranty Period Measurement"@en; + bamm:description "Commercial warranty period of the transmission (coupled to the Vehicle) in months as decimal."@en; + bamm:dataType xsd:decimal; + bamm-c:unit unit:month. +:Instructions a bamm:Characteristic; + bamm:preferredName "Instructions Characteristic"@en; + bamm:description "Instructions characteristic concerning the transmission."@en; + bamm:dataType :InstructionEntity. +:additionalInformation a bamm:Property; + bamm:preferredName "Additional Information"@en; + bamm:description "Open field for additional information such as a link."@en; + bamm:characteristic bamm-c:Text. +:dataMatrixCode a bamm:Property; + bamm:preferredName "Data Matrix Code"@en; + bamm:description "Data Matrix Code (DMC) link to the public of the transmission as specified in section 31 / page 26."@en; + bamm:characteristic bamm-c:Text; + bamm:see . +:SustainabilityDetails a bamm:Entity; + bamm:preferredName "Sustainability Details Entity"@en; + bamm:description "Sustainability details for the transmission."@en; + bamm:properties ([ + bamm:property :responsibleSourcingDocument; + bamm:optional "true"^^xsd:boolean +] :carbonFootprint :recyclateContent :criticalRawMaterials :substancesOfConcern). +:GeneralInformationEntity a bamm:Entity; + bamm:preferredName "General Information Entity"@en; + bamm:description "General Information Entity to describe several logical connected properties."@en; + bamm:properties (:productDescription :productType :additionalInformation :warrantyPeriod :physicalDimensionsProperty). +:physicalDimensionsProperty a bamm:Property; + bamm:preferredName "physical dimensions property"@en; + bamm:description "Describes the physical dimensions of the entity."@en; + bamm:characteristic ext-physical:PhysicalDimensionsCharacteristic. +:StateOfHealthEntity a bamm:Entity; + bamm:preferredName "State of health entity"@en; + bamm:description "State of health entity describing several logically connected properties."@en; + bamm:properties (:remanufacturing :serviceHistory :expectedLifespan). +:SparePartEntity a bamm:Entity; + bamm:preferredName "Spare Part Entity"@en; + bamm:description "Entity for details of the spare parts and suppliers of replacement parts / spare parts."@en; + bamm:properties (:supplierContact :supplierId :sparePartName). +:ProductSpecificParametersEntity a bamm:Entity; + bamm:preferredName "Product Specific Parameters Entity"@en; + bamm:description "The entity describing various product specific parameters of the transmission."@en; + bamm:properties (:driveType :torque :power [ + bamm:property :torqueConverter; + bamm:optional "true"^^xsd:boolean +] [ + bamm:property :speedResistance; + bamm:optional "true"^^xsd:boolean +] :standardGearRatio :spreading :oilCapacity :oilType [ + bamm:property :electricPerformance; + bamm:optional "true"^^xsd:boolean +]). +:InstructionEntity a bamm:Entity; + bamm:preferredName "Instruction Entity"@en; + bamm:description "Instruction documents concerning the transmission."@en; + bamm:properties (:dismantlingProcedure :vehicleDismantlingProcedure [ + bamm:property :packagingInstructions; + bamm:optional "true"^^xsd:boolean +] [ + bamm:property :transportationInstructions; + bamm:optional "true"^^xsd:boolean +] :safetyMeasures). +:responsibleSourcingDocument a bamm:Property; + bamm:preferredName "Responsible Sourcing Document"@en; + bamm:description "Document/Certificates on organizations compliance to ethical business practices."@en; + bamm:characteristic :DocumentsCharacteristic. +:carbonFootprint a bamm:Property; + bamm:preferredName "Carbon Footprint"@en; + bamm:description "Describes the carbon footprint of the substance or mixture. Based on the Ecodesign."@en; + bamm:characteristic :CarbonFootprint. +:recyclateContent a bamm:Property; + bamm:preferredName "Recyclate Content"@en; + bamm:description "List of recovered recyclate content. The following materials have to be reported on as a minimum: cobalt, lithium, nickel. Percentage of how much of the material was recycled. This can be an aggregation regarding the materials below. For example the amount of aluminium recovered from waste present in in each transmission model."@en; + bamm:characteristic :RecyclateContent. +:criticalRawMaterials a bamm:Property; + bamm:preferredName "Critical Raw Materials"@en; + bamm:description "List of critical raw materials (CRM) as specified by EU in a transmission. For example Magnesium; Cobalt; Palladium."@en; + bamm:characteristic :StringList. +:substancesOfConcern a bamm:Property; + bamm:preferredName "Substances of Concern"@en; + bamm:description "List of substances of concern. The name of the substances of concern present in the product. For example Lead; Cadmium; Dibortrioxide."@en; + bamm:characteristic :StringList. +:CarbonFootprint a bamm:Characteristic; + bamm:preferredName "Carbon Footprint Characteristic"@en; + bamm:description "Set of information needed for the carbon footprint ecodesign regulations."@en; + bamm:dataType :CarbonFootprintEntity. +:CarbonFootprintEntity a bamm:Entity; + bamm:preferredName "Carbon Footprint Entity"@en; + bamm:description "Entity encapsulating the carbon footprint."@en; + bamm:properties (:co2FootprintTotal :productOrSectorSpecificRules :crossSectoralStandardsUsed). +:co2FootprintTotal a bamm:Property; + bamm:preferredName "CO2 Footprint Total"@en; + bamm:description "The total carbon footprint of the transmission, calculated as kg of carbon dioxide equivalent."@en; + bamm:characteristic :Co2Total. +:crossSectoralStandardsUsed a bamm:Property ; + bamm:preferredName "Cross Sectoral Standards Used"@en ; + bamm:description "Discloses the cross-sectoral standards applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic ext-pcf:CrossSectoralStandardsUsedListCharacteristic. +:productOrSectorSpecificRules a bamm:Property ; + bamm:preferredName "Product or Sector Specific Rules"@en ; + bamm:description "Product or sector specific rules applied for calculating or allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product Category Rules), including operators or publishers and according rule names. Specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative."@en ; + bamm:see ; + bamm:characteristic ext-pcf:ProductOrSectorSpecificRuleSet. +:productDescription a bamm:Property; + bamm:preferredName "Product Description"@en; + bamm:description "The detailed description about the product type."@en; + bamm:characteristic :ProductDescription; + bamm:see . +:productType a bamm:Property; + bamm:preferredName "Product Type"@en; + bamm:description "Type of transmission for passenger cars."@en; + bamm:characteristic bamm-c:Text; + bamm:exampleValue "8HP60MH"; + bamm:see . +:remanufacturing a bamm:Property; + bamm:preferredName "Remanufacturing"@en; + bamm:description "Status of the transmission (first life or second life)."@en; + bamm:characteristic :Remanufacturing. +:serviceHistory a bamm:Property; + bamm:preferredName "Service History"@en; + bamm:description "The dates of putting the transmission into service (service history)."@en; + bamm:characteristic :ServiceHistory. +:expectedLifespan a bamm:Property; + bamm:preferredName "Expected Lifespan"@en; + bamm:description "Expected transmission lifespan."@en; + bamm:characteristic :ExpectedLifespan; + bamm:exampleValue "500000"^^xsd:integer; + bamm:see . +:supplierContact a bamm:Property; + bamm:preferredName "Supplier Contact"@en; + bamm:description "Contact information of the supplier"@en; + bamm:characteristic ext-contact:ContactCharacteristic. +:supplierId a bamm:Property; + bamm:preferredName "Supplier ID"@en; + bamm:description "BPNL of the supplier."@en; + bamm:characteristic bamm-c:Text; + bamm:exampleValue "BPNL1234567890ZZ". +:sparePartName a bamm:Property; + bamm:preferredName "Spare Part Name"@en; + bamm:description "Name or Identification of the spare part."@en; + bamm:characteristic bamm-c:Text; + bamm:exampleValue "torque converter". +:driveType a bamm:Property; + bamm:preferredName "Drive Type"@en; + bamm:description "The type of transmission drive (combustion engine, hybrid drive or purely electric drive)."@en; + bamm:characteristic :DriveTypeEnumeration; + bamm:exampleValue "hybrid drive". +:torque a bamm:Property; + bamm:preferredName "Torque Performance"@en; + bamm:description "The maximum input torque in newton meters (the operating characteristics of the transmission)."@en; + bamm:characteristic :TorqueNewtonMetre; + bamm:exampleValue "500.0"^^xsd:decimal; + bamm:see . +:power a bamm:Property; + bamm:preferredName "Power"@en; + bamm:description "The maximum power in kilowatt (the operating characteristics of the transmission)."@en; + bamm:characteristic :PerformancePower; + bamm:exampleValue "300.0"^^xsd:decimal. +:torqueConverter a bamm:Property; + bamm:preferredName "Torque Converter"@en; + bamm:description "A list of the used transmission damper technology (depending on the transmission type). For example NW 200 TTD and NW 200 ZDW"@en; + bamm:characteristic :StringList. +:speedResistance a bamm:Property; + bamm:preferredName "Speed Resistance"@en; + bamm:description "The permissible maximum input speed in the respective gear (depending on the transmission type). For example 1 : max 7800min-1; 2 : max 7800min-1; 3 : max 7800min-1; 4 : max 7800min-1; 5 : max 7800min-1; 6 : max 7800min-1; 7 : max 6800min-1; 8 : max 5800min-1; R : max 2000min-1."@en; + bamm:characteristic :SpeedResistance. +:standardGearRatio a bamm:Property; + bamm:preferredName "Standard Gear Ratio"@en; + bamm:description "The ratio in the respective gear (ratio between transmission input speed and transmission output speed). For example 1 : 4.1567; 2 : 3.898; 3 : 2.887; 4 : 2.7783; 5 : 1.811; 6 : 1.6545; 7 : 0.4377; 8 : 0.6121; R : -2.2183."@en; + bamm:characteristic :StandardGearRatio; + bamm:see . +:spreading a bamm:Property; + bamm:preferredName "Spreading"@en; + bamm:description "The transmission spreading coefficient. The ratio between the smallest (shortest gear) and the largest (longest gear) ratio."@en; + bamm:characteristic :TransmissionSpreading; + bamm:exampleValue "6.79"^^xsd:decimal. +:oilCapacity a bamm:Property; + bamm:preferredName "Oil Capacity"@en; + bamm:description "The recomended oil volume in the transmission."@en; + bamm:characteristic :Capacity; + bamm:exampleValue "8.9"^^xsd:decimal; + bamm:see . +:oilType a bamm:Property; + bamm:preferredName "Oil Type"@en; + bamm:description "The suitable type of the oil for the transmission."@en; + bamm:characteristic bamm-c:Text; + bamm:exampleValue "ZF Lifeguard Hybrid 2". +:electricPerformance a bamm:Property; + bamm:preferredName "Electric Performance"@en; + bamm:description "The electric machine performance (the operating characteristics of the electric motor). Values are the kilowatt, volt and newtonmetre. An example could be 22 kW; 49 V and 150 Nm."@en; + bamm:characteristic :StringList. +:dismantlingProcedure a bamm:Property; + bamm:preferredName "Dismantling Procedure"@en; + bamm:description "Document containing the transmission dismantling procedure."@en; + bamm:characteristic :DocumentsCharacteristic. +:vehicleDismantlingProcedure a bamm:Property; + bamm:preferredName "Vehicle Dismantling Procedure"@en; + bamm:description "Document containing the dismantling procedure from the vehicle."@en; + bamm:characteristic :DocumentsCharacteristic. +:packagingInstructions a bamm:Property; + bamm:preferredName "Packaging Instructions"@en; + bamm:description "Instructions for safely packaging of the transmission."@en; + bamm:characteristic :DocumentsCharacteristic. +:transportationInstructions a bamm:Property; + bamm:preferredName "Transportation Instructions"@en; + bamm:description "Instructions for safely transporting of the transmission."@en; + bamm:characteristic :DocumentsCharacteristic. +:safetyMeasures a bamm:Property; + bamm:preferredName "Safety Measures"@en; + bamm:description "Includes all safety relevant documents for e.g. Dismantling."@en; + bamm:characteristic :DocumentsCharacteristic; + bamm:see . +:DocumentsCharacteristic a bamm-c:List; + bamm:preferredName "Documents Characteristic"@en; + bamm:description "Documents Characteristic with title and link."@en; + bamm:dataType :Documents. +:Co2Total a bamm-c:Quantifiable; + bamm:preferredName "CO2 Total Characteristic"@en; + bamm:description "Characteristic for the total carbon footprint of the transmission, calculated as kg of carbon dioxide equivalent."@en; + bamm:dataType xsd:decimal; + bamm-c:unit unit:kilogram. +:RecyclateContent a bamm:Characteristic; + bamm:preferredName "Recyclate Content Characteristic"@en; + bamm:description "Recyclate content in the transmission."@en; + bamm:dataType :RecyclateContentEntity. +:StringList a bamm-c:List; + bamm:preferredName "String Characteristic"@en; + bamm:description "A list with the data types string."@en; + bamm:dataType xsd:string. +:ProductDescription a bamm-c:Enumeration; + bamm:preferredName "Product Description Enumeration"@en; + bamm:description "The detailed description about the product type as enumeration."@en; + bamm:dataType xsd:string; + bamm-c:values ("manual transmission" "automated manual transmission" "automatic transmission" "continuously variable automatic transmissions (CVT transmission)"). +:Remanufacturing a bamm:Characteristic; + bamm:preferredName "Remanufacturing Characteristic"@en; + bamm:description "Status of the transmission (first life or second life) and remanufacturing history."@en; + bamm:dataType :RemanufacturingStatus. +:ServiceHistory a bamm-c:List; + bamm:preferredName "Service History Characteristic"@en; + bamm:description "The dates of putting the transmission into service (service history) as list."@en; + bamm:dataType xsd:dateTimeStamp. +:ExpectedLifespan a bamm-c:Measurement; + bamm:preferredName "Expected Lifespan Characteristic"@en; + bamm:description "Expected transmission lifespan in km."@en; + bamm:dataType xsd:integer; + bamm-c:unit unit:kilometre. +:DriveTypeEnumeration a bamm-c:Enumeration; + bamm:preferredName "Drive Type Enumeration"@en; + bamm:description "Enumeration of the drive types with the values combustion engine, hybrid drive and electric drive."@en; + bamm:dataType xsd:string; + bamm-c:values ("combustion engine" "hybrid drive" "electric drive"). +:TorqueNewtonMetre a bamm-c:Measurement; + bamm:preferredName "Torque Newton Metre Characteristic"@en; + bamm:description "Characteristic to describe the maximum input torque in newton meters."@en; + bamm:dataType xsd:decimal; + bamm-c:unit unit:newtonMetre. +:PerformancePower a bamm-c:Measurement; + bamm:preferredName "Performance Power Characteristic"@en; + bamm:description "The performance power in kilowatt as decimal."@en; + bamm:dataType xsd:decimal; + bamm-c:unit unit:kilowatt. +:SpeedResistance a bamm:Characteristic; + bamm:preferredName "Speed Resistance Characteristic"@en; + bamm:description "The speed resistance characteristic."@en; + bamm:dataType :SpeedResistanceEntity. +:StandardGearRatio a bamm:Characteristic; + bamm:preferredName "Standard Gear Ratio Characteristic"@en; + bamm:description "The ratio in the respective gear."@en; + bamm:dataType :GearRatio. +:TransmissionSpreading a bamm-c:Quantifiable; + bamm:preferredName "Transmission Spreading Characteristic"@en; + bamm:description "The transmission spreading coefficient. The ratio between the smallest (shortest gear) and the largest (longest gear) ratio as decimal with no unit."@en; + bamm:dataType xsd:decimal. +:Capacity a bamm-c:Quantifiable; + bamm:preferredName "Capacity Characteristic"@en; + bamm:description "The oil capacity in dm³."@en; + bamm:dataType xsd:decimal; + bamm-c:unit unit:cubicDecimetre. +:Documents a bamm:Entity; + bamm:preferredName "Documents Entity"@en; + bamm:description "Entity describing a document."@en; + bamm:properties ([ + bamm:property :documentTitle; + bamm:optional "true"^^xsd:boolean +] :documentLink). +:RecyclateContentEntity a bamm:Entity; + bamm:preferredName "Recyclate Content Entity"@en; + bamm:description "Recyclate content in the transmission with mandatory input values for cobalt, nickel and lithium."@en; + bamm:properties ([ + bamm:property :otherSubstance; + bamm:optional "true"^^xsd:boolean +] :cobalt :nickel :lithium). +:RemanufacturingStatus a bamm:Entity; + bamm:preferredName "Remanufacturing Status Entity"@en; + bamm:description "Status and Date of the (re-)manufacturing"@en; + bamm:properties (:productStatusValue :remanufacturingDate). +:SpeedResistanceEntity a bamm:Entity; + bamm:preferredName "Speed Resistance Entity"@en; + bamm:description "The speed resitance entity. Includes the gear and the speed as separate properties."@en; + bamm:properties (:gear :speed). +:GearRatio a bamm:Entity; + bamm:preferredName "Gear Ratio Entity"@en; + bamm:description "Entity for the ratio in the respective gear. Includes the gear and the ratio as separate properties."@en; + bamm:properties (:gear :ratio). +:documentTitle a bamm:Property; + bamm:preferredName "Document Title"@en; + bamm:description "The header or title of the document"@en; + bamm:characteristic :DocumentTitleTrait; + bamm:exampleValue "Title A". +:documentLink a bamm:Property; + bamm:preferredName "Document Link"@en; + bamm:description "A link referencing to the document."@en; + bamm:characteristic bamm-c:Text; + bamm:exampleValue "https://www.xxx.pdf". +:otherSubstance a bamm:Property; + bamm:preferredName "Other Substance"@en; + bamm:description "Details for the other optional substances."@en; + bamm:characteristic :OtherSubstance. +:cobalt a bamm:Property; + bamm:preferredName "Cobalt"@en; + bamm:description "Percentage of the recyclate content of cobalt."@en; + bamm:characteristic :SubstancePercentage. +:nickel a bamm:Property; + bamm:preferredName "Nickel"@en; + bamm:description "Percentage of the recyclate content of nickel."@en; + bamm:characteristic :SubstancePercentage. +:lithium a bamm:Property; + bamm:preferredName "Lithium"@en; + bamm:description "Percentage of the recyclate content of lithium."@en; + bamm:characteristic :SubstancePercentage. +:productStatusValue a bamm:Property; + bamm:preferredName "Product Status Value"@en; + bamm:description "Status of the transmission as first life or second life."@en; + bamm:characteristic :ProductStatusEnumeration; + bamm:exampleValue "second life". +:remanufacturingDate a bamm:Property; + bamm:preferredName "Remanufacturing Date"@en; + bamm:description "Date of the (re-)manufacturing"@en; + bamm:characteristic bamm-c:Timestamp. +:DocumentTitleTrait a bamm-c:Trait; + bamm:preferredName "Document Title Trait"@en; + bamm:description "Constraints the length to 60 characters."@en; + bamm-c:baseCharacteristic bamm-c:Text; + bamm-c:constraint :MaxTitleCharacters. +:substanceName a bamm:Property; + bamm:preferredName "Substance Name"@en; + bamm:description "The name of the substance such as lead or aluminium."@en; + bamm:characteristic bamm-c:Text; + bamm:exampleValue "Lead". +:substancePercentage a bamm:Property; + bamm:preferredName "Substance Percentage"@en; + bamm:description "Substance percentage of the recycled content."@en; + bamm:characteristic :SubstancePercentage; + bamm:exampleValue "8.0"^^xsd:decimal. +:SubstancePercentage a bamm-c:Quantifiable; + bamm:preferredName "Substance Percentage Characteristic"@en; + bamm:description "Substance percentage of the recycled content."@en; + bamm:dataType xsd:decimal; + bamm-c:unit unit:percent. +:ProductStatusEnumeration a bamm-c:Enumeration; + bamm:preferredName "Product Status Enumeration"@en; + bamm:description "Enumeration to describe the status of the transmission as first life or second life."@en; + bamm:dataType xsd:string; + bamm-c:values ("first life" "second life"). +:MaxTitleCharacters a bamm-c:LengthConstraint; + bamm:preferredName "Max Title Characters Constraint"@en; + bamm:description "Maximum title characters set to 60."@en; + bamm-c:maxValue "60"^^xsd:nonNegativeInteger. +:gear a bamm:Property; + bamm:preferredName "Gear"@en; + bamm:description "Respective gear for the speed resistance."@en; + bamm:characteristic :GearTrait; + bamm:exampleValue "1". +:GearTrait a bamm-c:Trait; + bamm:preferredName "Gear Trait"@en; + bamm:description "Constraint to match a gear from 1 to 99 or R (reverse)."@en; + bamm-c:baseCharacteristic bamm-c:Text; + bamm-c:constraint :GearConstraint. +:GearConstraint a bamm-c:RegularExpressionConstraint; + bamm:preferredName "Gear Constraint"@en; + bamm:description "Constraint to match a gear from 1 to 99 or R (reverse)."@en; + bamm:value "^\\d{1,2}|R$". +:speed a bamm:Property; + bamm:preferredName "Speed"@en; + bamm:description "The permissible maximum input speed (rpm)."@en; + bamm:characteristic :RevolutionsPerMinute; + bamm:exampleValue "7800"^^xsd:integer. +:RevolutionsPerMinute a bamm-c:Measurement; + bamm:preferredName "Revolutions "@en; + bamm:description "The permissible maximum input speed in revolutions per minute in the respective gear."@en; + bamm:dataType xsd:integer; + bamm-c:unit unit:revolutionsPerMinute. +:ratio a bamm:Property; + bamm:preferredName "Ratio"@en; + bamm:description "The ratio in the respective gear (ratio between transmission input speed and transmission output speed)."@en; + bamm:characteristic :Ratio; + bamm:exampleValue "4.1567"^^xsd:double. +:Ratio a bamm-c:Quantifiable; + bamm:preferredName "Ratio Characteristic"@en; + bamm:description "The ratio in the respective gear."@en; + bamm:dataType xsd:double. +:OtherSubstance a bamm-c:List; + bamm:preferredName "Other Substance Characteristic"@en; + bamm:description "Characteristic for the other optional substances."@en; + bamm:dataType :OtherSubstanceEntity. +:OtherSubstanceEntity a bamm:Entity; + bamm:preferredName "Other Substance Entity"@en; + bamm:description "Percentage and substance name of the other substances."@en; + bamm:properties (:substancePercentage :substanceName). +:Identification a bamm:Characteristic; + bamm:preferredName "Identification Characteristic"@en; + bamm:description "Characteristic for the identification parameters of the transmission."@en; + bamm:dataType :IdentificationEntity. +:IdentificationEntity a bamm:Entity; + bamm:preferredName "Identification Entity"@en; + bamm:description "Identification parameters of the transmission with data matrix code, manufacturerID and serial number."@en; + bamm:properties (:dataMatrixCode :manufacturerId :localIdentifiers). +:localIdentifiers a bamm:Property ; + bamm:preferredName "Local Identifiers"@en ; + bamm:description "A local identifier enables identification of a part in a specific data space, but is not unique in Catena-X data space. Multiple local identifiers may exist."@en ; + bamm:characteristic ext-typization:LocalIdentifierCharacteristic.