From f30501bb783433435ab71209e276c15e9e79787a Mon Sep 17 00:00:00 2001 From: Tomasz Jacewski <56339212+jacewski-bosch@users.noreply.github.com> Date: Tue, 14 Mar 2023 14:59:20 +0100 Subject: [PATCH 1/5] Create metadata.json --- io.catenax.just_in_sequence_part/1.0.0/metadata.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 io.catenax.just_in_sequence_part/1.0.0/metadata.json diff --git a/io.catenax.just_in_sequence_part/1.0.0/metadata.json b/io.catenax.just_in_sequence_part/1.0.0/metadata.json new file mode 100644 index 00000000..eb94ac1e --- /dev/null +++ b/io.catenax.just_in_sequence_part/1.0.0/metadata.json @@ -0,0 +1 @@ +{ "status" : "release"} From 9c6421577c30eaf913b4081315c2f79105c9fcac Mon Sep 17 00:00:00 2001 From: Tomasz Jacewski <56339212+jacewski-bosch@users.noreply.github.com> Date: Tue, 14 Mar 2023 15:00:59 +0100 Subject: [PATCH 2/5] Create JustInSequencePart.ttl initial model --- .../1.0.0/JustInSequencePart.ttl | 188 ++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl diff --git a/io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl b/io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl new file mode 100644 index 00000000..8dcf4e9b --- /dev/null +++ b/io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl @@ -0,0 +1,188 @@ +####################################################################### +# Copyright (c) 2022 BASF SE +# Copyright (c) 2022 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +# Copyright (c) 2022 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST & Fraunhofer IML) +# Copyright (c) 2022 German Edge Cloud GmbH & Co. KG +# Copyright (c) 2022 Henkel AG & Co. KGaA +# Copyright (c) 2022 Mercedes Benz AG +# Copyright (c) 2022 Robert Bosch Manufacturing Solutions GmbH +# Copyright (c) 2022 SAP SE +# Copyright (c) 2022 Siemens AG +# Copyright (c) 2022 T-Systems International 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: . +@prefix bamm-c: . +@prefix bamm-e: . +@prefix unit: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix : . + +:JustInSequencePart a bamm:Aspect; + bamm:preferredName "Just in Sequence Part"@en; + bamm:description "A just-in-sequence part is an instantiation of a (design-) part, where the particular instantiation can be uniquely identified by means of a combination of several IDs related to a just-in-sequence process."@en; + bamm:properties (:catenaXId :localIdentifiers :manufacturingInformation :partTypeInformation); + bamm:operations (); + bamm:events (). +:catenaXId a bamm:Property; + bamm:preferredName "Catena-X Identifier"@en; + bamm:description "The fully anonymous Catena-X ID of the just-in-sequence part, valid for the Catena-X dataspace."@en; + bamm:characteristic :CatenaXIdTrait; + bamm:exampleValue "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379". +: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. +: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. +:partTypeInformation a bamm:Property; + bamm:preferredName "Part Type Information"@en; + bamm:description "The part type or part family from which the just-in-sequence part has been instantiated."@en; + bamm:characteristic :PartTypeInformationCharacteristic. +: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. +:LocalIdentifierCharacteristic a bamm-c:Set; + bamm:preferredName "Local Identifier Characteristic"@en; + bamm:description "A single just-in-sequence 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. +: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). +:key a bamm:Property; + bamm:preferredName "Identifier Key"@en; + bamm:description "The key of a local identifier. "@en; + bamm:characteristic :KeyCharacteristic; + bamm:exampleValue "jisNumber". +:value a bamm:Property; + bamm:preferredName "Identifier Value"@en; + bamm:description "The value of an identifier."@en; + bamm:characteristic :ValueCharacteristic; + bamm:exampleValue "12345678ABC". +: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- \"jisNumber\" - a number that is used to identify the call-off that can be assumed unique within the specific just-in-sequence process. This is typically not the sequence number, but the call-off number.\n- \"jisCallDate\" the date of the just-in-sequence call-off as stated on the call-off document itself. Value: following the ISO 8601 format as follows: \"YYYY-MM-DD\" or \"YYYY-MM-DDThh:mm:ss\" or \"YYYY-MM-DDThh:mm:ss±hh:mm\"\n- \"parentOrderNumber\" - a number identifying the just-in-sequence- part's destination parent part. The parent part is typically known upfront to the supplier for just-in-sequence parts. "@en; + bamm:dataType xsd:string. +:ValueCharacteristic a bamm:Characteristic; + bamm:preferredName "Value Characteristic"@en; + bamm:description "The value of an identifier."@en; + bamm:dataType xsd:string. +:ManufacturingCharacteristic a bamm:Characteristic; + bamm:preferredName "Manufacturing Characteristic"@en; + bamm:description "Characteristic to describe manufacturing related data"@en; + bamm:dataType :ManufacturingEntity. +: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"^^xsd:boolean +]). +: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. +: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". +: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. +:CountryCodeCharacteristic a bamm:Characteristic; + bamm:preferredName "Country Code Characteristic"@en; + bamm:description "ISO 3166-1 alpha-3 – three-letter country codes "@en; + bamm:dataType xsd:string; + bamm:see . +: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]$". +:PartTypeInformationCharacteristic a bamm:Characteristic; + bamm:preferredName "Part Type Information Characteristic"@en; + bamm:description "The characteristics of the part type"@en; + bamm:dataType :PartTypeInformationEntity. +:PartTypeInformationEntity a bamm:Entity; + bamm:preferredName "Part Type Information Entity"@en; + bamm:description "Encapsulation for data related to the part type"@en; + bamm:properties ([ + bamm:property :manufacturerPartId; + bamm:optional "true"^^xsd:boolean +] [ + bamm:property :customerPartId; + bamm:optional "true"^^xsd:boolean +] :nameAtManufacturer [ + bamm:property :nameAtCustomer; + bamm:optional "true"^^xsd:boolean +] :classification). +: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". +: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". +:manufacturerPartId a bamm:Property; + bamm:preferredName "Manufacturer Part ID"@en; + bamm:description "Part ID as assigned by the manufacturer of the part. The manufacturer 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 or any other instance IDs. \nIf no specific part ID exists a part family ID may be substituted for it."@en; + bamm:characteristic :PartIdCharacteristic; + bamm:exampleValue "123-0.740-3434-A". +:customerPartId a bamm:Property; + bamm:preferredName "Customer Part ID"@en; + bamm:description "Part ID as assigned by the customer of the part. The customer 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 or any other instance IDs. \nIf no specific part ID exists a part family ID may be substituted for it.\n"@en; + bamm:characteristic :PartIdCharacteristic; + bamm:exampleValue "PRT-12345". +: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". +:PartIdCharacteristic a bamm:Characteristic; + bamm:preferredName "Part ID Characteristic"@en; + bamm:description "The part ID is a multi-character string, usually assigned by an ERP system. Alternatively the ID of the part family can be used if no specific part ID exists."@en; + bamm:dataType xsd:string. +: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. +: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:dataType xsd:string; + bamm:see ; + bamm-c:values ("product" "raw material" "software" "assembly" "tool" "component"). +: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. +: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}$)". From b4c0b2937c430ddbc98920f249f93d4dc6fbce4e Mon Sep 17 00:00:00 2001 From: Tomasz Jacewski <56339212+jacewski-bosch@users.noreply.github.com> Date: Tue, 14 Mar 2023 15:02:31 +0100 Subject: [PATCH 3/5] Create RELEASE_NOTES.md --- io.catenax.just_in_sequence_part/RELEASE_NOTES.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 io.catenax.just_in_sequence_part/RELEASE_NOTES.md diff --git a/io.catenax.just_in_sequence_part/RELEASE_NOTES.md b/io.catenax.just_in_sequence_part/RELEASE_NOTES.md new file mode 100644 index 00000000..3ca49388 --- /dev/null +++ b/io.catenax.just_in_sequence_part/RELEASE_NOTES.md @@ -0,0 +1,13 @@ +# Changelog +All notable changes to this model will be documented in this file. + +## [Unreleased] + +## [1.0.0] +### Added +- initial version of model + +### Changed +n/a + +### Removed From e0d8cfbc70f39ad9b71c876f94bb737b45152cb7 Mon Sep 17 00:00:00 2001 From: Tomasz Jacewski <56339212+jacewski-bosch@users.noreply.github.com> Date: Fri, 17 Mar 2023 11:23:05 +0100 Subject: [PATCH 4/5] Update JustInSequencePart.ttl Improved key descriptions. fixed encoding conversion errors --- .../1.0.0/JustInSequencePart.ttl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl b/io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl index 8dcf4e9b..4ae1dd54 100644 --- a/io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl +++ b/io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl @@ -80,7 +80,7 @@ bamm:exampleValue "12345678ABC". :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- \"jisNumber\" - a number that is used to identify the call-off that can be assumed unique within the specific just-in-sequence process. This is typically not the sequence number, but the call-off number.\n- \"jisCallDate\" the date of the just-in-sequence call-off as stated on the call-off document itself. Value: following the ISO 8601 format as follows: \"YYYY-MM-DD\" or \"YYYY-MM-DDThh:mm:ss\" or \"YYYY-MM-DDThh:mm:ss±hh:mm\"\n- \"parentOrderNumber\" - a number identifying the just-in-sequence- part's destination parent part. The parent part is typically known upfront to the supplier for just-in-sequence parts. "@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- \"jisNumber\" - a number that is used to identify the call-off that can be assumed unique within the specific just-in-sequence process. This is typically not the sequence number, but the call-off number.\n- \"jisCallDate\" the date of the just-in-sequence call-off as stated on the call-off document itself. Value: following the ISO 8601 format as follows: \"YYYY-MM-DD\" or \"YYYY-MM-DDThh:mm:ss\" or \"YYYY-MM-DDThh:mm:ss±hh:mm\"\n- \"parentOrderNumber\" - a number identifying the just-in-sequence- part's destination parent part. The parent part is typically known upfront to the supplier for just-in-sequence parts. This might be a temporary unique identifier.\nNot all keys might be relevant for all just-in-sequence parts. It must be ensured that a combination of these identifiers and the optional manufacturer part ID or customer part ID leads to a unique just-in-sequence part."@en; bamm:dataType xsd:string. :ValueCharacteristic a bamm:Characteristic; bamm:preferredName "Value Characteristic"@en; @@ -114,7 +114,7 @@ bamm-c:constraint :CountryCodeRegularExpression. :CountryCodeCharacteristic a bamm:Characteristic; bamm:preferredName "Country Code Characteristic"@en; - bamm:description "ISO 3166-1 alpha-3 – three-letter country codes "@en; + bamm:description "ISO 3166-1 alpha-3 - three-letter country codes "@en; bamm:dataType xsd:string; bamm:see . :CountryCodeRegularExpression a bamm-c:RegularExpressionConstraint; @@ -173,7 +173,7 @@ bamm:dataType xsd:string. :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:description "A part type must be placed into one of the following classes: 'component', 'product', 'software', 'assembly', 'tool', or 'raw material'."@en; bamm:dataType xsd:string; bamm:see ; bamm-c:values ("product" "raw material" "software" "assembly" "tool" "component"). From 4804e338c78587fb493df12c14f6d16a6b378ab8 Mon Sep 17 00:00:00 2001 From: Tomasz Jacewski <56339212+jacewski-bosch@users.noreply.github.com> Date: Mon, 27 Mar 2023 20:17:00 +0200 Subject: [PATCH 5/5] Update JustInSequencePart.ttl updated copyright header with current year --- .../1.0.0/JustInSequencePart.ttl | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl b/io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl index 4ae1dd54..c54e08c0 100644 --- a/io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl +++ b/io.catenax.just_in_sequence_part/1.0.0/JustInSequencePart.ttl @@ -1,16 +1,16 @@ ####################################################################### -# Copyright (c) 2022 BASF SE -# Copyright (c) 2022 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2022 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST & Fraunhofer IML) -# Copyright (c) 2022 German Edge Cloud GmbH & Co. KG -# Copyright (c) 2022 Henkel AG & Co. KGaA -# Copyright (c) 2022 Mercedes Benz AG -# Copyright (c) 2022 Robert Bosch Manufacturing Solutions GmbH -# Copyright (c) 2022 SAP SE -# Copyright (c) 2022 Siemens AG -# Copyright (c) 2022 T-Systems International GmbH -# Copyright (c) 2022 ZF Friedrichshafen AG -# Copyright (c) 2022 Contributors to the Eclipse Foundation +# 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.