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

Add single level bom as planned 1.1.0 (based on work of PR#101) #123

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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,147 @@
######################################################################
# Copyright (c) 2023 BASF SE
# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
# Copyright (c) 2023 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST & Fraunhofer IML)
# Copyright (c) 2023 German Edge Cloud GmbH & Co. KG
# Copyright (c) 2023 Henkel AG & Co. KGaA
# Copyright (c) 2023 Mercedes Benz AG
# Copyright (c) 2023 Robert Bosch Manufacturing Solutions GmbH
# Copyright (c) 2023 SAP SE
# Copyright (c) 2023 Siemens AG
# 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: <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.single_level_bom_as_planned:1.1.0#>.

:SingleLevelBomAsPlanned a bamm:Aspect;
bamm:preferredName "Single Level Bill of Material as Planned"@en;
bamm:description "The single-level Bill of Material represents one sub-level of an assembly and does not include any lower-level subassemblies. In As-Planned lifecycle state all variants are covered (\"120% BoM\").\nIf multiple versions of child parts exist that can be assembled into the same parent part, all versions of the child part are included in the BoM.\nIf there are multiple suppliers for the same child part, each supplier has an entry for their child part in the BoM."@en;
bamm:properties (:catenaXId :childParts);
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 component), valid for the Catena-X dataspace."@en;
bamm:characteristic :CatenaXIdTraitCharacteristic;
bamm:exampleValue "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d".
:childParts a bamm:Property;
bamm:preferredName "Child Parts"@en;
bamm:description "Set of child parts in As-Planned lifecycle phase, of which the given parent object is assembled by (one structural level down)."@en;
bamm:characteristic :SetOfChildPartsCharacteristic.
:CatenaXIdTraitCharacteristic a bamm-c:Trait;
bamm:preferredName "Catena-X ID Trait"@en;
bamm:description "Trait to ensure UUID v4 data format"@en;
bamm-c:baseCharacteristic :Uuidv4Characteristic;
bamm-c:constraint :Uuidv4RegularExpression.
:SetOfChildPartsCharacteristic a bamm-c:Set;
bamm:preferredName "Set of Child Parts"@en;
bamm:description "Set of child parts the parent object is assembled by (one structural level down)."@en;
bamm:dataType :ChildData.
: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:dataType xsd:string;
bamm:see <https://tools.ietf.org/html/rfc4122>.
: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}$)".
:ChildData a bamm:Entity;
bamm:preferredName "Child Data"@en;
bamm:description "Catena-X ID and meta data of the child part."@en;
bamm:properties (:createdOn :quantity [
bamm:property :lastModifiedOn;
bamm:optional "true"^^xsd:boolean
] :childCatenaXId [
bamm:property :validityPeriod;
bamm:optional "true"^^xsd:boolean
]).
:childCatenaXId a bamm:Property;
bamm:preferredName "Catena-X Child ID"@en;
bamm:description "The Catena-X ID of the child object which is assembled into the given parent part."@en;
bamm:characteristic :CatenaXIdTraitCharacteristic.
: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"@en;
bamm:characteristic bamm-c:Timestamp;
bamm:exampleValue "2022-02-03T14:48:54.709Z"^^xsd:dateTime.
:quantity a bamm:Property;
bamm:preferredName "Quantity"@en;
bamm:description "Quantity of which the child part is assembled into the parent part."@en;
bamm:characteristic :QuantityCharacteristic.
:lastModifiedOn a bamm:Property;
bamm:preferredName "Last Modified on"@en;
bamm:description "Timestamp when the 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.
:validityPeriod a bamm:Property;
bamm:preferredName "Validity Period"@en;
bamm:description "The period of time during which the parent-child relation is valid. This relates to whether a child part can be built into the parent part at a given time.\nIf no validity period is given the relation is considered valid at any point in time."@en;
bamm:characteristic :ValidityPeriodCharacteristic.
:QuantityCharacteristic a bamm-c:Quantifiable;
bamm:preferredName "Quantity Characteristic"@en;
bamm:description "Describes the quantity in which the child part is assembled in the given parent object by providing a quantity value and the measurement unit in which the quantity is measured."@en;
bamm:dataType :Quantity.
:ValidityPeriodCharacteristic a bamm:Characteristic;
bamm:preferredName "Validity Period Characteristic"@en;
bamm:description "Characteristic for a validity period defined by an (optional) start and an (optional) end timestamp."@en;
bamm:dataType :ValidityPeriodEntity.
:Quantity a bamm:Entity;
bamm:preferredName "Quantity"@en;
bamm:description "Comprises the number of objects and the unit of measurement for the respective child objects"@en;
bamm:properties (:quantityNumber :measurementUnit).
:ValidityPeriodEntity a bamm:Entity;
bamm:preferredName "Validity Period Entity"@en;
bamm:description "If a validity period only has a start that means that the period is valid from the start date without a (yet) defined enddate and vice versa."@en;
bamm:properties ([
bamm:property :validFrom;
bamm:optional "true"^^xsd:boolean
] [
bamm:property :validTo;
bamm:optional "true"^^xsd:boolean
]).
: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:preferredName "Measurement Unit"@en;
bamm:description "Unit of measurement for the quantity of objects.\nIf possible, use units from the aspect meta model unit catalog, which is based on the UNECE Recommendation No. 20 \"Codes for Units of Measure used in International Trade\"."@en;
bamm:characteristic bamm-c:UnitReference;
bamm:exampleValue "unit:litre"^^bamm:curie;
bamm:see <https://github.com/eclipse-esmf/esmf-semantic-aspect-meta-model/blob/main/esmf-semantic-aspect-meta-model/src/main/resources/samm/unit/2.0.0/units.ttl>.
: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.
:validFrom a bamm:Property;
bamm:preferredName "Valid from"@en;
bamm:description "Start date of validity period"@en;
bamm:characteristic bamm-c:Timestamp;
bamm:exampleValue "2023-03-21T08:17:29.187+01:00"^^xsd:dateTime.
:validTo a bamm:Property;
bamm:preferredName "Valid to"@en;
bamm:description "End date of validity period"@en;
bamm:characteristic bamm-c:Timestamp;
bamm:exampleValue "2024-07-01T16:10:00.000+01:00"^^xsd:dateTime.
1 change: 1 addition & 0 deletions io.catenax.single_level_bom_as_planned/1.1.0/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "status" : "release"}
12 changes: 12 additions & 0 deletions io.catenax.single_level_bom_as_planned/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@ All notable changes to this model will be documented in this file.

## [Unreleased]

## [1.1.0]
### Added
- optional validity period for child-parent relation

### Changed
- descriptions to more explicitly describe handling of versions of child parts
- updated reference for SAMM Unit Catalog to a more stable one
- all characteristics, entities, and constraints now have proper names, preferred names and descriptions
- fixed some typos in preferred names and descriptions

### Removed

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