-
Notifications
You must be signed in to change notification settings - Fork 47
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 Model]: SpecialCharacteristicMeasurement v.1.0.0 #784
base: main
Are you sure you want to change the base?
Changes from 14 commits
cbcb1ab
89732f0
e21b4c1
d5e9574
9e3e51b
eb6b4d9
aa19040
daddf2f
9fa3b7f
4795b56
6d31852
ae75d33
53b3d63
11b34b3
29aab23
8db4d79
d11275d
f612405
0979711
4faade0
661ae04
90b0788
f23f848
2e3bc56
ad48d07
aa868f4
170842f
fe10551
02d2ffc
c354640
473f5bb
4447625
aff521d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,63 @@ | ||||||
|
||||||
|
||||||
@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.specialCharacteristics.measurement:1.0.0#> . | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Same here... please replace the camel case with an underscore. 😄
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||||||
@prefix bpn: <urn:samm:io.catenax.shared.business_partner_number:2.0.0#> . | ||||||
@prefix samm-u: <urn:samm:org.eclipse.esmf.samm:unit:2.1.0#> . | ||||||
@prefix serialPart: <urn:samm:io.catenax.serial_part:3.0.0#> . | ||||||
|
||||||
:Measurement a samm:Aspect ; | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is there a reason why you name the aspect model Measurement? If you want to create an aspect model for special characteristics does it not make more sense to name the aspect SpecialCharacteristic or SpecialCharacteristicMeasurment? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No, the idea was to show that it is related to specialCharacteristics through the path in the name. io.catenax.specialCharacteristics.measurements/1.0.0/ I guess this should not be a serious problem in renaming the model There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. renamed it to specialCharacteristicMeasurement |
||||||
samm:preferredName "SpecialCharacteristicMeasurment"@en ; | ||||||
samm:description "Contains the Measurment for a special characteristic"@en ; | ||||||
samm:properties ( serialPart:localIdentifiers bpn:bpnlProperty :customerPartId :characteristicId :results [ samm:property :measurementType; samm:optional true ] :revisionIndex ) ; | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is the bpnlProperty really needed? The same information is stored in the manufacturerID of the LocalIdentifier? This information would therefore be redundant. Unless you don't mean the manufactuererId with the bpnlProperty? If that is the case, then I would still suggest using a unique name for this property to know exactly what is meant. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
same here There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes the bpnlProerty is the manufacturerID. We put it here because it is necessary to identify the related specification of the characteristic. Yes, the local identfier may contain the manufacturerId but it is not enforced by the data model. If we should use the localIdentifier for the manufacturerId this should be mentioned in the KIT and noted that this information is neccessary |
||||||
samm:operations ( ) ; | ||||||
samm:events ( ) . | ||||||
|
||||||
:customerPartId a samm:Property ; | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Since the localIdentifier was referenced from the SerialPart i would also suggest to use the reference customerPartId from the SerialPart instead of define a new property with the name customerPartId. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. good point, will discuss this with Jochen and Sebastian. If we move the attribute into local identifier then we should explicitly reference them in the KIT There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @LuisRickert the customerPartId is not part of the localIdentifier, therefore don't move this attribute into the localIdentifier array. What i mean is to integrate the existing customerPartId attribute from the SerialPart into this aspect model. You've already done this with the localIdentifier: SuggestionYou should do the same with the customerPartId doing this steps: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ahh got it, i just had a missunderstanding :) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||||||
samm:preferredName "customerPartId"@en ; | ||||||
samm:description "This number is the identification of the Part"@en ; | ||||||
samm:characteristic :CharacteristicCustomerPartID ; | ||||||
samm:exampleValue "BPN0000000" . | ||||||
|
||||||
:characteristicId a samm:Property ; | ||||||
samm:preferredName "characteristicId"@en ; | ||||||
samm:description "Identification of the special characteristic in in relation of the specified part"@en ; | ||||||
samm:characteristic :CharacteristicCustomerPartID ; | ||||||
samm:exampleValue "S1" . | ||||||
|
||||||
:results a samm:Property ; | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The property results is currently defined as a list of objects. However, the objects contained therein are not further defined. I'm against the definition of an “open” list of objects. Otherwise, there are no rules which objects are stored here, so that everything possible can be implemented and therefore the purpose of standardization becomes obsolete. My recommendation: Define all objects that are possible for the measurements (I guess there are several?) and make these objects optional so that only the objects that are actually needed are used during implementation. Example: "results": [
{
"functionalMeasurement": {
"expectationSatisfied": true,
"measurementTimestamp": "2022-02-04T14:48:54"
},
"simpleMeasurement": {
"quantityValue": 20,
"itemUnit": "unit:piece",
"measurementTimestamp": "2022-02-04T14:48:54"
},
"qualitativeMeasurement": {
"extractedValue": "eOMtThyhVNLWUZNRcBaQKxI",
"readQuality": "5",
"measurementTimestamp": "2022-02-04T14:48:54"
}
}
] There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It was a explicit decision to keep it "open" because the set of characteristic is such a heterogenous set that one would have to create almost everytime a new object to fully capture the requirements for the measurement. I`ll raise to and discuss this with Jochen and Sebastian . There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @LuisRickert I got your point of view and agree. But from a semantic perspective, it is not recommended to define an aspect model with an open object list. If we publish the model in this form, there won't be rules which data in which form are exchanged between business partners, as the data list is not further defined and therefore not standardized. This is in contrary to the Catena-X approach! SuggestionAs mentioned above, I recommend defining all known and possible properties/attributes for the object list for this first version and expanding the aspect model with new data in the future as needed. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @johannsvarela after discussing this with Jochen and Sebastian we decided to keep the model as it is, since there is no sane way to provide a structure that could support a wide variety of measurements. We are aware that this can result in the rejection of the model. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hi @johannsvarela, @LuisRickert , |
||||||
samm:preferredName "measurement_results"@en ; | ||||||
samm:description "List of measurementObjects"@en ; | ||||||
samm:characteristic :ResultList . | ||||||
|
||||||
:measurementType a samm:Property ; | ||||||
samm:preferredName "Measurement Type"@en ; | ||||||
samm:description "This optional attribute hints the type of the measurement"@en ; | ||||||
samm:characteristic samm-c:Text . | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does it make sense to define the measurementType as enumeration with the three types, that will be described in the KIT instead of a text type? Example:
|
||||||
|
||||||
:revisionIndex a samm:Property ; | ||||||
samm:preferredName "Revision Index"@en ; | ||||||
samm:description "This attribute contains the revision index of the special characteristic, it is necessary to identify a special characteristic"@en ; | ||||||
samm:characteristic samm-c:Text ; | ||||||
samm:exampleValue "01" . | ||||||
|
||||||
:CharacteristicCustomerPartID a samm:Characteristic ; | ||||||
samm:preferredName "customerPartID_characteristic"@en ; | ||||||
samm:dataType xsd:string . | ||||||
|
||||||
:ResultList a samm-c:List ; | ||||||
samm:preferredName "ResultList"@en ; | ||||||
samm:description "List of result objects"@en ; | ||||||
samm:dataType :MeasurmentObject . | ||||||
|
||||||
:MeasurmentObject a samm:Entity ; | ||||||
samm:preferredName "Measurmentobject"@en ; | ||||||
samm:description "This Entity represents a generic Measurment Object"@en ; | ||||||
samm:properties ( ) . | ||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add the license information.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done