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

New submodel IndividualAssetDefinition #85

Merged
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#######################################################################
# Copyright (c) 2023 BASF SE
# Copyright (c) 2023 Henkel AG & Co. KGaA
# 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.individual_asset_definition:1.0.0#>.
@prefix ext-dimension: <urn:bamm:io.catenax.shared.physical_dimension:1.0.0#>.

:IndividualAssetDefinition a bamm:Aspect;
Copy link
Contributor

Choose a reason for hiding this comment

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

isn't this whole aspect covered by Traceability? if it is just catenaxID, BPNL, serialNumber and type? @jacewski-bosch

Copy link
Contributor Author

@Cvetanka-ZF Cvetanka-ZF Mar 24, 2023

Choose a reason for hiding this comment

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

It was already checked with Traceability (Simon Schulz) and approved MS2. @catroest

bamm:preferredName "Individual Asset Definition"@en;
bamm:description "Permanent characteristics of an individual asset."@en;
bamm:properties (:catenaXId :assetOwnerId :assetSerialNumber :assetType ext-dimension:physicalDimensionsProperty);
Copy link
Contributor

Choose a reason for hiding this comment

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

does it validate, if this is "just" written in the linked properies? @bs-jokri

Copy link
Contributor

Choose a reason for hiding this comment

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

@catroest yes, this is syntactically valid. However, the question is if the semantics are ok, ie the description of the property fits the use at hand. @Cvetanka-ZF wdyt. does it fit?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, it does fit our use case. As for the validation, it did validate in the Aspect editor without problems. However an error is thrown when trying to generate an example JSON Payload. My colleague Brgit (@birgitZF) told me that this is a known issue in the editor.

bamm:operations ();
bamm:events ().
:catenaXId a bamm:Property;
bamm:preferredName "Catena-X Identifier"@en;
bamm:description "The fully anonymous Catena-X ID of the asset, valid for the Catena-X dataspace."@en;
bamm:characteristic :CatenaXIdTrait;
bamm:exampleValue "urn:uuid:ed85f17e-29dd-473c-9cb8-d7ad1dc44d2f".
:assetOwnerId a bamm:Property;
bamm:preferredName "Asset Owner ID"@en;
bamm:description "BPNL of the asset owner."@en;
bamm:characteristic :AssetOwnerCharacteristic;
bamm:exampleValue "BPNL021738173000".
:assetSerialNumber a bamm:Property;
bamm:preferredName "Asset Serial Number"@en;
bamm:description "The serial number of the asset."@en;
bamm:characteristic :AssetSerialNumberCharacteristic;
bamm:exampleValue "321-0740-6790-XY".
:assetType a bamm:Property;
bamm:preferredName "Asset Type"@en;
bamm:description "The type of an asset."@en;
bamm:characteristic :AssetTypeCharacteristic;
bamm:exampleValue "package".
:CatenaXIdTrait a bamm-c:Trait;
bamm:preferredName "Catena-X Id Trait"@en;
bamm:description "Trait to ensure UUID v4 data format."@en;
bamm-c:baseCharacteristic :UUIDv4;
bamm-c:constraint :UUIDv4RegularExpression.
:AssetOwnerCharacteristic a bamm:Characteristic;
Copy link
Contributor

Choose a reason for hiding this comment

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

why not just use the TEXT Characterisitic if there isn't something specific?

Copy link
Contributor Author

@Cvetanka-ZF Cvetanka-ZF Mar 24, 2023

Choose a reason for hiding this comment

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

I always use :string for short text input and I use :text for longer expected input such as descriptions, comment content, etc.
In this case Asset Owner (BPNL Number), Serial Number and AssetType are short text input.

Copy link
Contributor

@bs-jokri bs-jokri Mar 24, 2023

Choose a reason for hiding this comment

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

@Cvetanka-ZF I think @catroest refers to the used characteristic. In case there is only a generic text without a specific semantics (ie specific description attached to it) you can use the bamm-c:Text characteristic and not obliged to define one on your own.

However, I think in this case the string carries a specific meaning and it makes sense to have a specific characteristic for that.

bamm:preferredName "Asset Owner Characteristic"@en;
bamm:description "Characteristic describing the property asset owner."@en;
bamm:dataType xsd:string.
:AssetSerialNumberCharacteristic a bamm:Characteristic;
Copy link
Contributor

Choose a reason for hiding this comment

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

why not just use the TEXT Characterisitic if there isn't something specific?

Copy link
Contributor Author

@Cvetanka-ZF Cvetanka-ZF Mar 24, 2023

Choose a reason for hiding this comment

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

I always use :string for short text input and I use :text for longer expected input such as descriptions, comment content, etc.
In this case Asset Owner (BPNL Number), Serial Number and AssetType are short text input.

Copy link
Contributor

Choose a reason for hiding this comment

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

But you know, that you can completly delete these Characteristics and dont't have to define them in the model if you use the TextCharacteristic?

bamm:preferredName "Asset Serial Number Characteristic"@en;
bamm:description "Characteristic describing the property serial number."@en;
bamm:dataType xsd:string.
:AssetTypeCharacteristic a bamm:Characteristic;
Copy link
Contributor

Choose a reason for hiding this comment

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

why not just use the TEXT Characterisitic if there isn't something specific?

Copy link
Contributor Author

@Cvetanka-ZF Cvetanka-ZF Mar 24, 2023

Choose a reason for hiding this comment

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

I always use :string for short text input and I use :text for longer expected input such as descriptions, comment content, etc.
In this case Asset Owner (BPNL Number), Serial Number and AssetType are short text input.

bamm:preferredName "Asset Type Characteristic"@en;
bamm:description "Characteristic describing the property asset type."@en;
bamm:dataType xsd:string.
: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 <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}$)".
1 change: 1 addition & 0 deletions io.catenax.individual_asset_definition/1.0.0/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "status" : "release"}
15 changes: 15 additions & 0 deletions io.catenax.individual_asset_definition/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Changelog
All notable changes to this model will be documented in this file.

## [Unreleased]

## [1.0.0] - 2023-02-22

### Added
- initial model
- 2023-03-17 added physicalDimensions (Shared Aspect)
### Changed
n/a

### Removed