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]: SingleLevelBomAsSpecified #274

Merged
merged 22 commits into from
Aug 29, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
7f40719
added new properties: partGeometry and manufacturerId
maxim-bo Aug 7, 2023
d297efc
fixed release notes date
maxim-bo Aug 7, 2023
48f0536
fix: adjust value to be less error prone
LuisRickert Aug 16, 2023
bd728e9
fix: escape quotation mark, save file as utf-8 encoding
LuisRickert Aug 16, 2023
68a0792
fix: set correct version in release note
LuisRickert Aug 16, 2023
dd128b6
fix: use samm mata model 2.0.0
LuisRickert Aug 16, 2023
4ae8fbf
fix: proper markdown formatting
LuisRickert Aug 16, 2023
4a71fe4
fix: change to samm 2.0
LuisRickert Aug 17, 2023
aa67f87
fix: make model valid
LuisRickert Aug 21, 2023
ef62a3b
fix: remove duplicate properties and unsued definitions
LuisRickert Aug 22, 2023
edd6eb3
fix: add valid random example uuid
LuisRickert Aug 22, 2023
65450f3
fix: rename catenaXIf to assetId
LuisRickert Aug 22, 2023
50a9925
chore: update release notes
LuisRickert Aug 23, 2023
2149f07
fix: typo in release notes
LuisRickert Aug 23, 2023
f9f1260
fix: add valid uuid4 example value
LuisRickert Aug 23, 2023
0e344ff
chore: adjust License header
LuisRickert Aug 23, 2023
0286b39
chore: update license header
LuisRickert Aug 23, 2023
fddfb9e
fix: revert changes
LuisRickert Aug 23, 2023
93ab4f6
fix: unit definition
LuisRickert Aug 25, 2023
5c13485
fix: adjust release notes, adjust reference in example values
LuisRickert Aug 25, 2023
886cd8f
fix: rename childParts to childItems to comply with IRS request
LuisRickert Aug 29, 2023
24958a5
fix: adjust name of item position
LuisRickert Aug 29, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
#######################################################################
# Copyright (c) 2022 T-Systems International GmbH
bs-jokri marked this conversation as resolved.
Show resolved Hide resolved
# 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
#
# 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#>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SAMM meta model is default since 7.7.2023. We should migrate the model to samm prior release

@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.single_level_bom_as_specified:2.0.0#>.

: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;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it seems the document is not saved with uff-8 encoding. would it be possible to resave in utf-8. Otherwise special characters like the quotation marks are not processed properly. BTW quotation marks can be escaped with a \ in the description

bamm:properties (:catenaXId :childParts :catenaXId :childParts :manufacturerId);
bamm:operations ();
bamm:events ().
: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".
:childParts a bamm:Property;
bamm:preferredName "Child Parts"@en;
bamm:description "The child part of the observed parent item"@en;
bamm:characteristic :ChildPartsCharacteristic.
:CatenaXIdTrait a bamm-c:Trait;
bamm-c:baseCharacteristic bamm-c:Text;
bamm-c:constraint :Uuidv4RegularExpression.
: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!".
: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}$)".
: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
] [
bamm:property :partGeometry;
bamm:optional "true"^^xsd:boolean
]).
: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;
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.
:partGeometry a bamm:Property;
bamm:preferredName "Part Geometry"@en;
bamm:description "Some parts are intended to be used on either the left or right side, e.g. mirrors, hence this entity describes on which side a part is to be used"@en;
bamm:characteristic :PartGeometryCharacteristic;
bamm:exampleValue "L - Left".
:PartQuantityCharacteristic a bamm:Characteristic;
bamm:preferredName "Part Quantity Characteristic"@en;
bamm:description "The characteristic of the part quantity."@en;
bamm:dataType :PartQuantityEntity.
: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).
: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.
: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.
:PartClassificationCharacteristic a bamm-c:Set;
bamm:preferredName "Part Classification Characteristic"@en;
bamm:description "The characteristic of the part classification."@en;
bamm:dataType :PartClassificationEntity.
: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).
: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".
:PartGeometryCharacteristic a bamm-c:Enumeration;
bamm:preferredName "Part Geometry Characteristic"@en;
bamm:description "Describes the characteristic of the left or right mark entity with its possible values (left or right)"@en;
bamm:dataType xsd:string;
bamm-c:values ("L - Left" "R - Right").
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depending on how the model is supposed to be used, the whitespaces in the enumeration values could be a source of error, if they are used in comparisons.

:manufacturerId a bamm:Property;
bamm:preferredName "Manufacturer ID"@en;
bamm:description "The ID of the initial issuer of the single level BoMAsSpecified"@en;
bamm:characteristic :Text;
bamm:exampleValue "BPNL1234567890LR".
:Text a bamm:Characteristic;
bamm:preferredName "Text"@en;
bamm:description "Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc."@en;
bamm:dataType xsd:string.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "status" : "release"}
8 changes: 8 additions & 0 deletions io.catenax.single_level_bom_as_specified/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@ All notable changes to this model will be documented in this file.

## [Unreleased]

## [1.0.0] - 2023-08-07
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume you mean 2.0.0

### Added
bs-jokri marked this conversation as resolved.
Show resolved Hide resolved
- added new properties: partGeometry (represting the side a part belongs to, e.g. left or right) and manufacturerId (BPN of the manufacturer)

### Changed

### Removed

## [1.0.0] - 2023-06-30
### Added
- added new properties: createdOn, lastModifiedOn
Expand Down