admin-shell-io / aas-specs

Repository of the Asset Administration Shell Specification IDTA-01001 - Metamodel
https://industrialdigitaltwin.org/en/content-hub/aasspecifications
Creative Commons Attribution 4.0 International
45 stars 26 forks source link

Matching Strategy for Reference: what about referredSemanticId? #347

Open BirgitBoss opened 4 months ago

BirgitBoss commented 4 months ago

A Reference has a type, a referredSemanticId and a list of keys. In the chapter "Matching Strategies - Matching Algorithm for References" the referredSemanticId is not mentioned. Which impact does the referredSemanticId has on the matching algorithm?

The Note Note: if the key types are not identical although all key values follow the correct order of the key chain, then at least one of the references is buggy and a warning should be issued. is true for match model-ref against model-ref and external-ref against external-ref but not for external-ref against model-ref. This should be added

g1zzm0 commented 4 months ago

Can you please provide an algorithmic solution how XML or JSON Objects should be mapped and matched in pseudocode

BirgitBoss commented 3 months ago

TF Part 1 2024-03-07 Discussion We should consider to forbid that a semanticId has a Reference/referredSemanticId by constraint.

https://rwth-iat.github.io/aas-specs-antora/IDTA-01002-3/snapshot/IDTA-01002_Spec_Interfaces.html#_operation_getallsubmodelsbysemanticid Which kind of semanticId match is used for this operation? This needs to be decided. In future additional parameter for matchingStrategy probably necessary

Instead of heading "Equivalence matching of two references" use same wording as for semantic ID matching. instead of "identical" use string-identical. Ignore referredSemanticId for References because they have no identifying function.

It seems that "Equivalence" and Value Matching for References are identical: both describe that keys are identical. All values identical and number of elements in the key chain is identical. Since semanticId is also a REference: check, whether rules of Matching References are compatible with those for semanticId

P.S. Fix ")" (GlobalReference 0173-1#01-ADS698#010, (FragmentReference)0173-1#01-ADS700#010