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

[Model Update] BOM As Specified #151

Merged
merged 11 commits into from
May 8, 2023
190 changes: 190 additions & 0 deletions io.catenax.bom_as_specified/2.0.0/SingleLevelBomAsSpecified.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
#######################################################################
# Copyright (c) 2022 T-Systems International GmbH
# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
# Copyright (c) 2022 Volkswagen AG
# Copyright (c) 2022 Robert Bosch GmbH
# Copyright (c) 2022 ZF Friedrichshafen AG
# Copyright (c) 2022 Contributors to the Eclipse Foundation
#
maxim-bo marked this conversation as resolved.
Show resolved Hide resolved
# 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:2.0.0#>.
@prefix bamm-c: <urn:bamm:io.openmanufacturing:characteristic:2.0.0#>.
@prefix bamm-e: <urn:bamm:io.openmanufacturing:entity:2.0.0#>.
@prefix unit: <urn:bamm:io.openmanufacturing:unit:2.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.bom_as_specified:2.0.0#>.

:catenaXId a bamm:Property;
bamm:preferredName "Catena-X ID"@en;
bamm:description "A unique reference within Catena-X of this items"@en;
bamm:characteristic :CatenaXIdTrait;
bamm:exampleValue "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d".
:CatenaXIdTrait a bamm-c:Trait;
bamm-c:baseCharacteristic bamm-c:Text;
bamm-c:constraint :Uuidv4RegularExpression.
: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)."@en;
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}$)".
:childParts a bamm:Property;
bamm:preferredName "Child Parts"@en;
bamm:description "The child part of the observed parent item"@en;
bamm:characteristic :ChildPartsCharacteristic.
:ChildPartsCharacteristic a bamm-c:Set;
bamm:preferredName "Child Parts Characteristic"@en;
bamm:description "The characteristic of the child part property"@en;
bamm:dataType :ChildPartsEntity.
:ChildPartsEntity a bamm:Entity;
bamm:preferredName "Child Parts Entity"@en;
bamm:description "Encapsulates the properties describing the child part item"@en;
bamm:properties (:childPartsCategory :part :childPartsCategory :part :childCatenaXId).
:childPartsCategory a bamm:Property;
bamm:preferredName "Child Parts Category"@en;
bamm:description "The BomAsSpecified defines the view of the OEM or producer of the whole product, e.g. the OEM of a vehicle. It is free of any supplier-related information and specifies the promised and guaranteed content of the whole product to the end customer. This “top-down” view is in contrast to the “bottom-up” view of the SingleLevelBoMAsPlanned, though several sub-aspects are shared. The BomAsSpecified is merely one aspect, which is attached to the twin of the whole product and itself does neither introduce further twins nor reference them. Instead it merely comprises all functional information required by dismantlers, workshops or requestors for used parts to search for and to make a match on the market place."@en;
bamm:characteristic bamm-c:Text;
bamm:exampleValue "e.g. vehicle, winter wheels, bicycle rack".
:part a bamm:Property;
bamm:preferredName "Part"@en;
bamm:description "The description of the part in the primary language of the production facility of the product owner."@en;
bamm:characteristic :PartCharacteristic.
:childCatenaXId a bamm:Property;
bamm:preferredName "Child CatenaXId"@en;
bamm:description "Describes the Catena-X ID of the child part"@en;
bamm:characteristic bamm-c:Text;
bamm:exampleValue "urn:uuid:218b26f4-4a0b-4a7f-b2c1-d248927718bf ".
:PartCharacteristic a bamm-c:Set;
bamm:preferredName "Part Characteristic"@en;
bamm:description "Characteristic of the part."@en;
bamm:dataType :PartEntity.
:PartEntity a bamm:Entity;
bamm:preferredName "Part Entity"@en;
bamm:description "Entity encapsulating the properies describing a part"@en;
bamm:properties (:ownerPartId [
bamm:property :partVersion;
bamm:optional "true"^^xsd:boolean
] [
bamm:property :partQuantity;
bamm:optional "true"^^xsd:boolean
] [
bamm:property :partDescription;
bamm:optional "true"^^xsd:boolean
] [
bamm:property :partClassification;
bamm:optional "true"^^xsd:boolean
] [
bamm:property :lastModifiedOn;
bamm:optional "true"^^xsd:boolean
] [
bamm:property :createdOn;
bamm:optional "true"^^xsd:boolean
] :ownerPartId [
bamm:property :partVersion;
bamm:optional "true"^^xsd:boolean
] [
bamm:property :partQuantity;
bamm:optional "true"^^xsd:boolean
] [
bamm:property :partDescription;
bamm:optional "true"^^xsd:boolean
] [
bamm:property :partClassification;
bamm:optional "true"^^xsd:boolean
] [
bamm:property :lastModifiedOn;
bamm:optional "true"^^xsd:boolean
] [
bamm:property :createdOn;
bamm:optional "true"^^xsd:boolean
]).
:ownerPartId a bamm:Property;
bamm:preferredName "Owner Part ID"@en;
bamm:description "This is the key field of the component which usually keeps the part numbers used in after-sales, e.g. when repairing broken parts and searching for a replacement. This ownerPartId itself isn't usually bound to one part version, with the assumption that all part versions with the same ownerPartId are mutually interchangeable."@en;
bamm:characteristic :CatenaXIdTrait;
bamm:exampleValue "uuid!".
:partVersion a bamm:Property;
bamm:preferredName "Part Version"@en;
bamm:description "This is the version of the part. The engineering will at times supercede an older part version by a newer one, which might have different material aspects, physical dimensions etc., still maintaining compatibility."@en;
bamm:characteristic bamm-c:Text;
bs-jokri marked this conversation as resolved.
Show resolved Hide resolved
bamm:exampleValue "05".
:partQuantity a bamm:Property;
bamm:preferredName "Part Quantity"@en;
bamm:description "This is the quantity how often this part is in the item."@en;
bamm:characteristic :PartQuantityCharacteristic.
:partDescription a bamm:Property;
bamm:preferredName "Part Description"@en;
bamm:description "The description of the part in the primary language of the production facility of the product owner."@en;
bamm:characteristic bamm-c:Text;
bamm:exampleValue "The steering wheel is nice and round".
:partClassification a bamm:Property;
bamm:preferredName "Part Classification"@en;
bamm:description "The part classification."@en;
bamm:characteristic :PartClassificationCharacteristic.
:lastModifiedOn a bamm:Property;
bamm:preferredName "Last Modified On"@en;
bamm:description "The time the item was modified the last time"@en;
bamm:characteristic bamm-c:Timestamp;
bamm:exampleValue "2022-02-03T14:48:54.709Z"^^xsd:dateTime.
:createdOn a bamm:Property;
bamm:preferredName "Created On"@en;
bamm:description "The time the item was created on"@en;
bamm:characteristic bamm-c:Timestamp;
bamm:exampleValue "2022-02-03T14:48:54.709Z"^^xsd:dateTime.
:PartQuantityCharacteristic a bamm:Characteristic;
bamm:preferredName "Part Quantity Characteristic"@en;
bamm:description "The characteristic of the part quantity."@en;
bamm:dataType :PartQuantityEntity.
:PartClassificationCharacteristic a bamm-c:Set;
bamm:preferredName "Part Classification Characteristic"@en;
bamm:description "The characteristic of the part classification."@en;
bamm:dataType :PartClassificationEntity.
:PartQuantityEntity a bamm:Entity;
bamm:preferredName "Part Quantity Entity"@en;
bamm:description "The entity encapsulating the properties describing the quantity of a part."@en;
bamm:properties (:measurementUnit :quantityNumber :measurementUnit :quantityNumber).
:PartClassificationEntity a bamm:Entity;
bamm:preferredName "Part Classification Entity"@en;
bamm:description "The entity encapsulating the properties of the part classification."@en;
bamm:properties (:key :value :key :value).
:measurementUnit a bamm:Property;
bamm:preferredName "Measurement Unit"@en;
bamm:description "Unit of measurement for the quantity of serialized objects."@en;
bamm:characteristic bamm-c:UnitReference;
bamm:exampleValue "kW"^^bamm:curie.
: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 "350"^^xsd:double.
:key a bamm:Property;
bamm:preferredName "Key"@en;
bamm:description "Key within the classification."@en;
bamm:characteristic bamm-c:Text;
bamm:exampleValue "BMW:PartFamily".
:value a bamm:Property;
bamm:preferredName "Value"@en;
bamm:description "Value within the classification."@en;
bamm:characteristic bamm-c:Text;
bamm:exampleValue "STEEWHL".
:NumberOfObjects a bamm:Characteristic;
bamm:preferredName "Number of Objects"@en;
bamm:description "Quantifiable number of objects in reference to the measurementUnit."@en;
bamm:dataType xsd:double.
:SingleLevelBomAsSpecified a bamm:Aspect;
bamm:preferredName "Single Level BOM as Specified"@en;
bamm:description "The SingleLevelBomAsSpecified defines the view of the OEM or producer of the whole product, e.g. the OEM of a vehicle. It is free of any supplier-related information and specifies the promised and guaranteed content of the whole product to the end customer. This “top-down” view is in contrast to the “bottom-up” view of the SingleLevelBoMAsPlanned, though several sub-aspects are shared. The BomAsSpecified is merely one aspect, which is attached to the twin of the whole product and itself does neither introduce further twins nor reference them. Instead it merely comprises all functional information required by dismantlers, workshops or requestors for used parts to search for and to make a match on the market place."@en;
bamm:properties (:catenaXId :childParts :catenaXId :childParts);
bamm:operations ();
bamm:events ().

1 change: 1 addition & 0 deletions io.catenax.bom_as_specified/2.0.0/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "status" : "release"}
14 changes: 14 additions & 0 deletions io.catenax.bom_as_specified/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog
All notable changes to this model will be documented in this file.

## [2.0.0] - 2023-04-24
### Added
- added new properties: createdOn, lastModifiedOn

### Changed
- changed existing properties: identifier -> catenaXId, item -> childParts
- minor adjustments of exemplary values to reflect current state of the model

### Removed
- removed non-needed properties: index, quantity