Skip to content

Commit

Permalink
Merge pull request #557 from johannsvarela/update_serial_part_3.0.0
Browse files Browse the repository at this point in the history
[Model Update]: SerialPart 3.0.0
  • Loading branch information
agg3fe authored Feb 6, 2024
2 parents ec7d3a4 + 60fc9a4 commit d6b37b9
Show file tree
Hide file tree
Showing 3 changed files with 217 additions and 0 deletions.
206 changes: 206 additions & 0 deletions io.catenax.serial_part/3.0.0/SerialPart.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
#######################################################################
# Copyright(c) 2022, 2023, 2024 BASF SE
# Copyright(c) 2022, 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft(BMW AG)
# Copyright(c) 2022, 2023, 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.(represented by Fraunhofer ISST & Fraunhofer IML)
# Copyright(c) 2022, 2023, 2024 German Edge Cloud GmbH & Co. KG
# Copyright(c) 2022, 2023, 2024 Henkel AG & Co. KGaA
# Copyright(c) 2022, 2023, 2024 Mercedes Benz AG
# Copyright(c) 2022, 2023, 2024 Robert Bosch Manufacturing Solutions GmbH
# Copyright(c) 2022, 2023, 2024 SAP SE
# Copyright(c) 2022, 2023, 2024 Siemens AG
# Copyright(c) 2022, 2023, 2024 T-Systems International GmbH
# Copyright(c) 2022, 2023, 2024 ZF Friedrichshafen AG
# Copyright(c) 2022, 2023, 2024 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 samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.1.0#>.
@prefix samm-c: <urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#>.
@prefix samm-e: <urn:samm:org.eclipse.esmf.samm:entity:2.1.0#>.
@prefix unit: <urn:samm:org.eclipse.esmf.samm:unit:2.1.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:samm:io.catenax.serial_part:3.0.0#>.
@prefix ext-built: <urn:samm:io.catenax.shared.part_site_information_as_built:2.0.0#>.
@prefix ext-classification: <urn:samm:io.catenax.shared.part_classification:1.0.0#>.
@prefix ext-uuid: <urn:samm:io.catenax.shared.uuid:2.0.0#>.

:SerialPart a samm:Aspect;
samm:preferredName "Serial Part"@en;
samm:description "A serialized part is an instantiation of a (design-)part, where the particular instantiation can be uniquely identified by means of a serial number or a similar identifier (e.g. VAN)or a combination of multiple identifiers (e.g. combination of manufacturer, date and number)"@en;
samm:properties (:catenaXId :localIdentifiers :manufacturingInformation :partTypeInformation);
samm:operations ();
samm:events ().

:catenaXId a samm:Property;
samm:preferredName "Catena-X ID"@en;
samm:description "The fully anonymous Catena-X ID of the serialized part, valid for the Catena-X dataspace."@en;
samm:characteristic ext-uuid:UuidV4Trait;
samm:exampleValue "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379".

:localIdentifiers a samm:Property;
samm:preferredName "Local Identifiers"@en;
samm: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;
samm:characteristic :LocalIdentifierCharacteristic.

:manufacturingInformation a samm:Property;
samm:preferredName "Manufacturing Information"@en;
samm:description "Information from manufacturing process, such as manufacturing date and manufacturing country"@en;
samm:characteristic :ManufacturingCharacteristic.

:partTypeInformation a samm:Property;
samm:preferredName "Part Type Information"@en;
samm:description "The part type from which the serialized part has been instantiated"@en;
samm:characteristic :PartTypeInformationCharacteristic.

:LocalIdentifierCharacteristic a samm-c:Set;
samm:preferredName "Local Identifier Characteristic"@en;
samm:description "A single serialized part may have multiple attributes, that uniquely identify a that part in a specific dataspace (e.g. the manufacturer`s dataspace)"@en;
samm:dataType :KeyValueList.

:ManufacturingCharacteristic a samm:Characteristic;
samm:preferredName "Manufacturing Characteristic"@en;
samm:description "Characteristic to describe manufacturing related data"@en;
samm:dataType :ManufacturingEntity.

:PartTypeInformationCharacteristic a samm:Characteristic;
samm:preferredName "Part Type Information Characteristic"@en;
samm:description "The characteristics of the part type"@en;
samm:dataType :PartTypeInformationEntity.

:KeyValueList a samm:Entity;
samm:preferredName "Key Value List"@en;
samm:description "A list of key value pairs for local identifiers, which are composed of a key and a corresponding value."@en;
samm:properties (:key :value).

:ManufacturingEntity a samm:Entity;
samm:preferredName "Manufacturing Entity"@en;
samm:description "Encapsulates the manufacturing relevant attributes"@en;
samm:properties (:date [ samm:property :country; samm:optional true ] [ samm:property ext-built:sites; samm:optional true ]).

:PartTypeInformationEntity a samm:Entity;
samm:preferredName "Part Type Information Entity"@en;
samm:description "Encapsulation for data related to the part type"@en;
samm:properties (:manufacturerPartId [ samm:property :customerPartId; samm:optional true ] :nameAtManufacturer [ samm:property :nameAtCustomer; samm:optional true ] [ samm:property ext-classification:partClassification; samm:optional true ]).

:key a samm:Property;
samm:preferredName "Identifier Key"@en;
samm:description "The key of a local identifier. "@en;
samm:characteristic :KeyTrait;
samm:exampleValue "partInstanceId".

:value a samm:Property;
samm:preferredName "Identifier Value"@en;
samm:description "The value of an identifier."@en;
samm:characteristic :ValueCharacteristic;
samm:exampleValue "SN12345678".

:date a samm:Property;
samm:preferredName "Production Date"@en;
samm:description "Timestamp of the manufacturing date as the final step in production process (e.g. final quality check, ready-for-shipment event)"@en;
samm:characteristic :DateTimeTrait;
samm:exampleValue "2022-02-04T14:48:54".

:country a samm:Property;
samm:preferredName "Country code"@en;
samm:description "Country code where the part was manufactured"@en;
samm:characteristic :ProductionCountryCodeTrait;
samm:exampleValue "HUR".

:manufacturerPartId a samm:Property;
samm:preferredName "Manufacturer Part ID"@en;
samm:description "Part ID as assigned by the manufacturer of the part. The 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."@en;
samm:characteristic :PartIdCharacteristic;
samm:exampleValue "123-0.740-3434-A".

:customerPartId a samm:Property;
samm:preferredName "Customer Part ID"@en;
samm:description "Part ID as assigned by the manufacturer of the part. The 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."@en;
samm:characteristic :PartIdCharacteristic;
samm:exampleValue "PRT-12345".

:nameAtManufacturer a samm:Property;
samm:preferredName "Name at Manufacturer"@en;
samm:description "Name of the part as assigned by the manufacturer"@en;
samm:characteristic :PartNameCharacteristic;
samm:exampleValue "Mirror left".

:nameAtCustomer a samm:Property;
samm:preferredName "Name at Customer"@en;
samm:description "Name of the part as assigned by the customer"@en;
samm:characteristic :PartNameCharacteristic;
samm:exampleValue "side element A".

:KeyTrait a samm-c:Trait;
samm:preferredName "Key Trait"@en;
samm:description "Trait that ensures the usage of predefined keys."@en;
samm-c:baseCharacteristic :KeyCharacteristic;
samm-c:constraint :KeyRegularExpression.

:ValueCharacteristic a samm:Characteristic;
samm:preferredName "Value Characteristic"@en;
samm:description "The value of an identifier."@en;
samm:dataType xsd:string.

:DateTimeTrait a samm-c:Trait;
samm:preferredName "Date Time Trait"@en;
samm:description "Trait to ensure regular expressions with different date and time(zone)formats."@en;
samm-c:baseCharacteristic :DateTimeCharacteristic;
samm-c:constraint :DateTimeRegularExpression.

:ProductionCountryCodeTrait a samm-c:Trait;
samm:preferredName "Production Country Code Trait"@en;
samm:description "Trait to ensure standard data format for country code"@en;
samm-c:baseCharacteristic :CountryCodeCharacteristic;
samm-c:constraint :CountryCodeRegularExpression.

:PartIdCharacteristic a samm:Characteristic;
samm:preferredName "Part ID Characteristic"@en;
samm:description "The part ID is a multi-character string, usually assigned by an ERP system"@en;
samm:dataType xsd:string.

:PartNameCharacteristic a samm:Characteristic;
samm:preferredName "Part Name Characteristic"@en;
samm:description "Part Name in string format from the respective system in the value chain"@en;
samm:dataType xsd:string.

:KeyCharacteristic a samm:Characteristic;
samm:preferredName "Key Characteristic"@en;
samm: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- \"partInstanceId\" - The identifier of the manufacturer for the serialized instance of the part, e.g. the serial number\n- \"batchId\" - The identifier of the batch, to which the serialzed part belongs\n- \"van\" - The anonymized vehicle identification number (VIN). Value: anonymized VIN according to OEM anonymization rules. Note: If the key \"van\" is available, \"partInstanceId\" must also be available and hold the identical value."@en;
samm:dataType xsd:string.

:KeyRegularExpression a samm-c:RegularExpressionConstraint;
samm:preferredName "Key Regular Expression"@en;
samm:description "Constraint that ensures that the standard keys and custom key prefixes can be used."@en;
samm:value "^(manufacturerId|partInstanceId|batchId|van|customKey:\\w+)$".

:DateTimeCharacteristic a samm:Characteristic;
samm:preferredName "Date Time Characteristic"@en;
samm:description "Describes a Property which contains the date and time with an optional timezone."@en;
samm:dataType xsd:string.

:DateTimeRegularExpression a samm-c:RegularExpressionConstraint;
samm:preferredName "Date Time Regular Expression"@en;
samm:description "Regular Expression to enable UTC and Timezone formats and the possibility to exclude time information."@en;
samm:value "^(?:[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:[.][0-9]+)?Z|[0-9]{4}-[0-9]{2}-[0-9]{2}(?:T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:[.][0-9]+)?(?:Z|[+-][0-9]{2}:[0-9]{2}))?)$".

:CountryCodeCharacteristic a samm:Characteristic;
samm:preferredName "Country Code Characteristic"@en;
samm:description "ISO 3166-1 alpha-3 - three-letter country codes "@en;
samm:see <https://www.iso.org/iso-3166-country-codes.html>;
samm:dataType xsd:string.

:CountryCodeRegularExpression a samm-c:RegularExpressionConstraint;
samm:preferredName "Country Code Regular Expression"@en;
samm:description "Regular Expression that ensures a three-letter code "@en;
samm:value "^[A-Z][A-Z][A-Z]$".
1 change: 1 addition & 0 deletions io.catenax.serial_part/3.0.0/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "status" : "release"}
10 changes: 10 additions & 0 deletions io.catenax.serial_part/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# Changelog
All notable changes to this model will be documented in this file.

## [3.0.0] 2024-02-05
### Added
- Integration of the new shared PartClassifcation 1.0.0 aspect model as child-property of the PartTypeInformation
- Added possibility to add date information excluding time
- Include additional RegEx values for the local identifier key

### Changed
- Change (shared) partSiteInformation to be a child-porperty of the manufacturerInformation


## [2.0.0] 2023-12-04
### Added
- integration of the sites property and its childtree of the shared PartSiteInformationAsBuilt (1.0.0) aspect model as optional content
Expand Down

0 comments on commit d6b37b9

Please sign in to comment.