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]: return request_v2.0.0 #483

Merged
merged 8 commits into from
Feb 7, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
249 changes: 249 additions & 0 deletions io.catenax.return_request/2.0.0/ReturnRequest.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
#######################################################################
# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft
Copy link
Contributor

Choose a reason for hiding this comment

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

2023-2024

Copy link
Contributor Author

Choose a reason for hiding this comment

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

All of them will be changed to 2023-2024.

# Copyright (c) 2023 Robert Bosch GmbH
# Copyright (c) 2023 Henkel AG & Co. KGaA
# Copyright (c) 2023 LRP Autorecycling Leipzig GmbH
# Copyright (c) 2023 SAP SE
# Copyright (c) 2023 ZF Friedrichshafen AG
# Copyright (c) 2023 Circular Economy Solutions GmbH (C-ECO)
# Copyright (c) 2023 T-Systems International GmbH
# Copyright (c) 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Copy link
Contributor

Choose a reason for hiding this comment

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

Contributers to Eclipse Foundation missing

#
# 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.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.

2.1.0

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Should all the version the eclipse-related prefix be changed to 2.1.0 or just necessary for this meta-model?
As far as I understand, for making this change I would have to also upgrade my Aspect-Model-Editor to a new version, otherwise I cannot open the model after the changeis done. Is it correct?

Copy link
Contributor

Choose a reason for hiding this comment

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

correct, all four have to reference 2.1.0 (which will automatically happen if you open and save it in the new version of the editor)
All updated/new models are 2.1.0

@prefix samm-c: <urn:samm:org.eclipse.esmf.samm:characteristic:2.0.0#> .
@prefix samm-e: <urn:samm:org.eclipse.esmf.samm:entity:2.0.0#> .
@prefix unit: <urn:samm:org.eclipse.esmf.samm: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:samm:io.catenax.return_request:2.0.0#> .

:ReturnRequest a samm:Aspect ;
samm:preferredName "return request"@en ;
samm:description "Aspect to indicate if there is a return request for a product."@en ;
samm:properties ( :needsReturn :returnConditions :requestDate :latestReturnDate :productConditions :title :marketplaceProduct :quantity :unitOfMeasure :validityPeriod :isRecall :identification :productionDate :deliveryAddress :areaOfUsage :productGroup :arrivalDateAtCustomer ) ;
samm:operations ( ) ;
samm:events ( ) .

:needsReturn a samm:Property ;
samm:preferredName "needs return"@en ;
samm:description "Describes the fact whether a vehicle, assembly or part needs to be returned to requestor."@en ;
samm:characteristic samm-c:Boolean ;
samm:exampleValue true .

:returnConditions a samm:Property ;
samm:preferredName "return conditions"@en ;
samm:description "Describes WHY a vehicle, assembly or part needs to be returned to the requestor and under which conditions."@en ;
samm:characteristic samm-c:Text ;
samm:exampleValue "Wishes to buy" .

:requestDate a samm:Property ;
samm:preferredName "request date"@en ;
samm:description "Describes date when the return request was placed."@en ;
samm:characteristic :DateTimestamp ;
samm:exampleValue "2022-01-01"^^xsd:date .

:latestReturnDate a samm:Property ;
samm:preferredName "latest return date"@en ;
samm:description "Describes until when the return request is valid."@en ;
samm:characteristic :DateTimestamp ;
samm:exampleValue "2025-01-01"^^xsd:date .

:productConditions a samm:Property ;
samm:preferredName "product conditions"@en ;
samm:description "textual description of the product conditions"@en ;
samm:characteristic :ProductConditionsCharacteristic .

:title a samm:Property ;
samm:preferredName "title"@en ;
samm:description "The request name to be used by the buyer to navigate through the list of demand requests."@en ;
samm:characteristic samm-c:Text ;
samm:exampleValue "BMW 318i Brake caliper" .

:marketplaceProduct a samm:Property ;
samm:preferredName "marketplace product"@en ;
samm:description "The description of the product within the marketplace that might differ from the digital twin."@en ;
samm:characteristic samm-c:Text ;
samm:exampleValue "BMW 318i E46 Coupe Bj.2000 Bremssattel hinten links" .

:quantity a samm:Property ;
samm:preferredName "quantity"@en ;
samm:description "The desired quantity of the on the marketplace offered product in SKU."@en ;
samm:characteristic :QuantityCharacteristic ;
Copy link
Contributor

Choose a reason for hiding this comment

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

for quantity, please check if you can make use of existing shared quantity model , then you don't need to define your own Characteristic. Example here

samm:exampleValue "50.00"^^xsd:float .

:unitOfMeasure a samm:Property ;
Copy link
Contributor

@catroest catroest Jan 29, 2024

Choose a reason for hiding this comment

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

this is redundant, as quantity (the shared aspect) also refers to a value and unit. Therefore maybe adapt the description of the quantity property to corrctly describe what is following in the structure below.

samm:preferredName "unit of measure"@en ;
samm:description "The unit of measure (related to quantity)."@en ;
samm:see <https://resources.gs1us.org/GS1-US-Data-Hub-Help-Center/ArtMID/3451/ArticleID/116/Unit-of-Measure-Codes> ;
samm:characteristic samm-c:Text ;
samm:exampleValue "kg" .

:validityPeriod a samm:Property ;
samm:preferredName "validity period"@en ;
samm:description "Specifies the time period when the need exists"@en ;
samm:characteristic :TimePeriod .

:isRecall a samm:Property ;
samm:preferredName "is recall"@en ;
samm:description "Depicts if the manufacturer issued a recall (e.g. for security reasons). In concjunction with property needsReturn it can be expressed if the item has to be returned or can directly be destroyed."@en ;
Copy link
Contributor

Choose a reason for hiding this comment

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

typo concjunction

samm:characteristic samm-c:Boolean ;
samm:exampleValue false .

:identification a samm:Property ;
samm:preferredName "identification"@en ;
samm:description "The unique identifier of the product (via manufacturingPartID, OeNumber and/or serialNumber)\n"@en ;
samm:characteristic :IdentificationCharacteristic .

:productionDate a samm:Property ;
samm:preferredName "production date"@en ;
samm:description "Date, when the component was manufactured"@en ;
samm:characteristic :DateTimestamp ;
samm:exampleValue "2000-01-01"^^xsd:date .

:deliveryAddress a samm:Property ;
yuchengluo1 marked this conversation as resolved.
Show resolved Hide resolved
samm:preferredName "delivery address"@en ;
samm:description "The address that the product should be delivered to"@en ;
samm:characteristic samm-c:Text ;
samm:exampleValue "Unten den Linden 1" .

:areaOfUsage a samm:Property ;
samm:preferredName "area of usage"@en ;
samm:description "Information, in which countries/areas the component has been in use"@en ;
samm:characteristic samm-c:Text ;
samm:exampleValue "Sahara, extreme dry and high temperature" .

:productGroup a samm:Property ;
yuchengluo1 marked this conversation as resolved.
Show resolved Hide resolved
samm:preferredName "product group"@en ;
samm:description "Classification of product group"@en ;
samm:characteristic samm-c:Text ;
samm:exampleValue "power unit" .

:arrivalDateAtCustomer a samm:Property ;
samm:preferredName "arrival date at customer"@en ;
samm:description "Until when should the product arrive (if known)"@en ;
samm:characteristic :DateTimestamp ;
samm:exampleValue "2023-12-01"^^xsd:date .

:DateTimestamp a samm:Characteristic ;
samm:preferredName "date timestamp"@en ;
samm:description "Timestamp for dates"@en ;
samm:dataType xsd:date .

:ProductConditionsCharacteristic a samm:Characteristic ;
samm:preferredName "product conditions characteristic"@en ;
samm:description "Criteria describing the state of a product on the marketplace."@en ;
samm:dataType :ProductConditionsEntity .

:QuantityCharacteristic a samm:Characteristic ;
samm:preferredName "quantity characteristic"@en ;
samm:description "Characteristic describing the quantity"@en ;
samm:dataType xsd:float .

:TimePeriod a samm-c:SortedSet ;
samm:preferredName "time period"@en ;
samm:description "Depicts a time period by specifying start and end date"@en ;
samm:dataType :TimePeriodEntity .

:IdentificationCharacteristic a samm:Characteristic ;
samm:preferredName "identification characteristic"@en ;
samm:description "The unique identifier of the product (via manufacturingPartID, OeNumber and/or serialNumber)\n"@en ;
samm:dataType :IdentificationEntity .

:ProductConditionsEntity a samm:Entity ;
samm:preferredName "product conditions entity"@en ;
samm:description "Entity encapsulating the conditions the product is in."@en ;
samm:properties ( [ samm:property :missingParts; samm:optional true ] [ samm:property :dismantled; samm:optional true ] [ samm:property :mechanicalDamage; samm:optional true ] [ samm:property :corroded; samm:optional true ] [ samm:property :discolored; samm:optional true ] :mileage ) .

:TimePeriodEntity a samm:Entity ;
samm:preferredName "time period"@en ;
samm:description "Entity defining a range of dates to define a time period."@en ;
samm:properties ( :startDate :endDate ) .

:IdentificationEntity a samm:Entity ;
samm:preferredName "identification entity"@en ;
samm:description "Entity encapsulating different unique identifier of the product (manufacturingPartID, OeNumber and/or serialNumber)"@en ;
samm:properties ( :manufacturingPartID :oeNumber :serialNumber ) .

:missingParts a samm:Property ;
samm:preferredName "missing parts"@en ;
samm:description "Completeness of the product, e.g. missing parts are not acceptable."@en ;
samm:characteristic samm-c:Boolean ;
samm:exampleValue true .

:dismantled a samm:Property ;
samm:preferredName "dismantled"@en ;
samm:description "Information on whether the product has been dismantled."@en ;
samm:characteristic samm-c:Boolean ;
samm:exampleValue true .

:mechanicalDamage a samm:Property ;
samm:preferredName "mechanical damage"@en ;
samm:description "Information on mechanical damage to the part, e.g. two broken ribs or part deformation indicate mechanical damage."@en ;
samm:characteristic samm-c:Boolean ;
samm:exampleValue true .

:corroded a samm:Property ;
samm:preferredName "corroded"@en ;
samm:description "Information on whether the product has corrosion."@en ;
samm:characteristic samm-c:Boolean ;
samm:exampleValue true .

:discolored a samm:Property ;
samm:preferredName "discolored"@en ;
samm:description "Information on whether the product has been discoloured."@en ;
samm:characteristic samm-c:Boolean ;
samm:exampleValue true .

:mileage a samm:Property ;
samm:preferredName "mileage"@en ;
samm:description "Current mileage of the component"@en ;
samm:characteristic :Mileage ;
Copy link
Contributor

Choose a reason for hiding this comment

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

Property and the referenced Characteristic should not have the same name

samm:exampleValue 89000 .

:startDate a samm:Property ;
samm:preferredName "start date"@en ;
samm:description "The first day of the period"@en ;
samm:characteristic samm-c:Timestamp ;
Copy link
Contributor

Choose a reason for hiding this comment

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

the value for characteristic should be DateTimestamp here instead of samm-c:Timestamp, else the example value is not correct.

samm:exampleValue "2019-01-01"^^xsd:dateTime .

:endDate a samm:Property ;
samm:preferredName "end date"@en ;
samm:description "The last day of the period."@en ;
samm:characteristic samm-c:Timestamp ;
Copy link
Contributor

Choose a reason for hiding this comment

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

here also, value should be DateTimestamp

samm:exampleValue "2030-09-30"^^xsd:dateTime .

:manufacturingPartID a samm:Property ;
Copy link
Contributor

Choose a reason for hiding this comment

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

use of serialPart (e.g manufacturerPartId)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is a simple change of naming sufficient? (manufacturingPartID->manufacturerPartId)

Copy link
Contributor

Choose a reason for hiding this comment

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

I mean the use of the aspect serial part

samm:preferredName "manufacturing part id"@en ;
samm:description "The unique identifier of the product from the manufacturer, characterizes the type of component"@en ;
samm:characteristic samm-c:Text ;
samm:exampleValue "4S7R7002DB" .

:oeNumber a samm:Property ;
samm:preferredName "oe number"@en ;
samm:description "The unique identifier of the product from the original manufacturer, characterizes the type of component"@en ;
samm:characteristic samm-c:Text ;
samm:exampleValue "8O8RKJZ7ER" .

:serialNumber a samm:Property ;
Copy link
Contributor

Choose a reason for hiding this comment

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

use of serialPart (localIdentifiers)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is a simple change of naming sufficient? (serialNumber->localIdentifiers)

Copy link
Contributor

Choose a reason for hiding this comment

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

I mean the use of the aspect serial part. Best to open the serial part model seperatly to see the redundant fields which can be linked.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If the aspect serial part is used, then more shared aspects are linked in the model (shared.part_site_information_as_built, business_partner_number, etc.). This means that the prefix in these shared aspect involved also needs to be updated to eclipse 2.1.0 version. I will submit multiple PRs to apply for these changes. Is it ok?

Copy link
Contributor

Choose a reason for hiding this comment

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

These will be updated anyway to 2.1.0 due to recent changes (#557 #581 #571). You can include the current version already, but be aware to change the prefix to the higher version before the PR is merged.

samm:preferredName "serial number"@en ;
samm:description "Serial number as unique identifier for a part"@en ;
samm:characteristic samm-c:Text ;
samm:exampleValue "PODBS39HZ7382HDG28" .

:Mileage a samm-c:Measurement ;
samm:preferredName "mileage"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

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

please add description here

samm:dataType xsd:integer ;
samm-c:unit unit:kilometre .

1 change: 1 addition & 0 deletions io.catenax.return_request/2.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.return_request/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.

## [2.0.0] - 2023-11-27
### Added
- Upgrade from BAMM model to SAMM model
- Update attributes

### Changed


### Removed

## [1.1.2] - 2023-01-30
### Added
-
Expand Down