Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Single level usage as built 2.0.0 #198

Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
#######################################################################
jacewski-bosch marked this conversation as resolved.
Show resolved Hide resolved
# 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: <urn:bamm:io.openmanufacturing:meta-model:1.0.0#> .
jacewski-bosch marked this conversation as resolved.
Show resolved Hide resolved
@prefix bamm-c: <urn:bamm:io.openmanufacturing:characteristic:1.0.0#> .
@prefix bamm-e: <urn:bamm:io.openmanufacturing:entity:1.0.0#> .
@prefix unit: <urn:bamm:io.openmanufacturing:unit:1.0.0#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:bamm:io.catenax.single_level_usage_as_built:2.0.0#> .

:SingleLevelUsageAsBuilt a bamm:Aspect ;
bamm:preferredName "SingleLevelUsageAsBuilt"@en ;
bamm:description "The aspect provides the information in which parent part(s)/product(s) the given item is assembled in. Could be a 1:1 relationship in terms of a e.g. a brake component or 1:n for e.g. coatings. The given item as well as the parent item must refer to an object from as-built lifecycle phase, i.e. a batch or a serialized part. "@en ;
bamm:properties ( :catenaXId :customers ) ;
bamm:operations ( ) ;
bamm:events ( ) .

:catenaXId a bamm:Property ;
bamm:preferredName "Catena-X Identifier"@en ;
bamm:description "The Catena-X ID of the given part (e.g. the assembly), valid for the Catena-X dataspace."@en ;
bamm:characteristic :CatenaXIdTraitCharacteristic ;
bamm:exampleValue "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d" .
jacewski-bosch marked this conversation as resolved.
Show resolved Hide resolved

:customers a bamm:Property ;
bamm:preferredName "Customers"@en ;
bamm:description "A list of all customers of this item. If the parent items in which this item is assembled into are known, they should be listed as well.\n\nFor serialized items the list should contain only one customer with one parent item.\nAs different subsets of a batch might be sold to different customers this is a list."@en ;
bamm:characteristic :ListOfCustomersCharacteristic .

:CatenaXIdTraitCharacteristic a bamm-c:Trait ;
bamm:description "Trait to ensure UUID v4 data format"@en ;
bamm-c:baseCharacteristic :UUIDv4Characteristic ;
bamm-c:constraint :UUIDv4RegularExpression .

:ListOfCustomersCharacteristic a bamm-c:List ;
bamm:preferredName "List of Customers Characteristic"@en ;
bamm:description "A list of customers and their related parent items."@en ;
bamm:dataType :Customer .

:UUIDv4Characteristic a bamm:Characteristic ;
bamm:preferredName "UUID v4"@en ;
bamm:description "A version 4 UUID is a universally unique identifier that is generated using random 32 hexadecimal characters."@en ;
bamm:see <https://datatracker.ietf.org/doc/html/rfc4122> ;
bamm:dataType xsd:string .

: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 <https://datatracker.ietf.org/doc/html/rfc4122> ;
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}$)" .

:Customer a bamm:Entity ;
bamm:preferredName "Customer"@en ;
bamm:description "A customer and their related items, if known."@en ;
bamm:properties ( [ bamm:property :parentItems; bamm:optional true ] :businessPartner :createdOn :lastModifiedOn ) .

:parentItems a bamm:Property ;
bamm:preferredName "Parent Items"@en ;
bamm:description "Set of parent items, in which the given child object is assembled in (one structural level up).\n\nFor serialized items the list should contain only one parent item.\nAs different subsets of a batch might be used by a customer in different items this is a list."@en ;
bamm:characteristic :SetOfParentItemsCharacteristic .

:businessPartner a bamm:Property ;
bamm:preferredName "Business Partner"@en ;
bamm:description "The supplier of the given child item."@en ;
bamm:characteristic :BpnTrait ;
bamm:exampleValue "BPNL50096894aNXY" .

:createdOn a bamm:Property ;
bamm:preferredName "Created On"@en ;
bamm:description "Timestamp when the relation between the parent part and the child part was created, e.g. when the given child part was assembled into the parent part."@en ;
bamm:characteristic bamm-c:Timestamp ;
bamm:exampleValue "2022-02-03T14:48:54.709Z"^^xsd:dateTime .

:lastModifiedOn a bamm:Property ;
bamm:preferredName "Last Modification Date"@en ;
bamm:description "Timestamp when the assembly relationship between parent part and child part was last modified."@en ;
bamm:characteristic bamm-c:Timestamp ;
bamm:exampleValue "2022-02-03T14:48:54.709Z"^^xsd:dateTime .

:SetOfParentItemsCharacteristic a bamm-c:Set ;
bamm:preferredName "Set of Parent Items"@en ;
bamm:description "Set of parent items the given child object is assembled in (one structural level up)."@en ;
bamm:dataType :ParentData .

:BpnTrait a bamm-c:Trait ;
bamm:preferredName "BPN Business Partner Number Trait"@en ;
bamm-c:baseCharacteristic :BpnCharacteristic ;
bamm-c:constraint :BpnConstraint .

:ParentData a bamm:Entity ;
bamm:preferredName "Parent Data"@en ;
bamm:description "Catena-X ID and meta data of the parent item."@en ;
bamm:properties ( :quantity :catenaXId :createdOn :lastModifiedOn ) .

:BpnCharacteristic a bamm:Characteristic ;
bamm:preferredName "BPN Characteristic"@en ;
bamm:dataType xsd:string .

:BpnConstraint a bamm-c:RegularExpressionConstraint ;
bamm:preferredName "BPN Constraint"@en ;
bamm:description "Business Partner Number Regular Expression allowing only BPNL which stands for a legal entity."@en ;
bamm:value "^(BPNL)([0-9]{8})([a-zA-Z0-9]{4})$" .

:quantity a bamm:Property ;
bamm:preferredName "Quantity"@en ;
bamm:description "Quantity of which the child part is assembled into the parent part. In general it is '1' for serialized parts."@en ;
bamm:characteristic :QuantityCharacteristic .

:QuantityCharacteristic a bamm-c:Quantifiable ;
bamm:description "Describes the quantity in which the child part is assembled in the parent object by providing a quantity value and the measurement unit in which the quantity is measured."@en ;
bamm:dataType :Quantity .

:Quantity a bamm:Entity ;
bamm:description "Comprises the number of objects and the unit of measurement for the respective child objects"@en ;
bamm:properties ( :quantityNumber :measurementUnit ) .

:quantityNumber a bamm:Property ;
bamm:preferredName "Quantity Number"@en ;
bamm:description "The number of objects related to the measurement unit"@en ;
bamm:characteristic :NumberOfObjects ;
bamm:exampleValue "2.5"^^xsd:double .

:measurementUnit a bamm:Property ;
bamm:description "Unit of Measurement for the quantity of serialized objects"@en ;
bamm:see <https://eclipse-esmf.github.io/samm-specification/2.0.0/appendix/unitcatalog.html> ;
bamm:characteristic bamm-c:UnitReference ;
bamm:exampleValue "unit:litre"^^bamm:curie .

:NumberOfObjects a bamm:Characteristic ;
bamm:description "Quantifiable number of objects in reference to the measurementUnit"@en ;
bamm:dataType xsd:double .

18 changes: 18 additions & 0 deletions io.catenax.single_level_usage_as_built/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,24 @@ All notable changes to this model will be documented in this file.

## [Unreleased]

## [2.0.0]
### Added
- added `customers` to reflect that the relation to parent items is not known at all times. Instead a reference to the customer is made.
- restructured `parentParts` to be enclosed
- added mandatory `businessPartner` to enable decentralized Digital Twin registry


### Changed
- renamed `parentParts` to `parentItems`
- made `parentItems` optional to reflect that parent items are not known at all times
- fixed example value for `measurementUnit`
- fixed link to samm unit catalogue for `measurementUnit`
- renamed `parentCatenaXId` to `catenaXId`
- improved some descriptions to reflect change from `part` to `item`
- generally improved some descriptions

### Removed

## [1.0.1] - 2022-08-11
### Added
- initial version of model
Expand Down