admin-shell-io / aas-specs-api

Repository of the Asset Administration Shell Specification DTA-01002 API
https://admin-shell-io.github.io/aas-specs-antora/index/home/index.html
Creative Commons Attribution 4.0 International
12 stars 5 forks source link

Examples for .../$path are incorrect in specification #246

Open mjacoby opened 7 months ago

mjacoby commented 7 months ago

What?

AAS Spec Part 2, IDTA Number: 01002-3-0, June 2023 Annex C 2. Table Examples for GET Operations contains examples for $path serialization that are not correct according to expected behavior/results discussed in #155.

The submodel in the example looks like this

The table in the specification contains the following examples

Applied to the submodel with level deep (correct)

[
  "RotationSpeed",
   "RotationSpeed.MaxRotationSpeed"
]

Applied to the submodel with level core (correct)

[
   "RotationSpeed",
]

Applied to the property with level deep (wrong)

[ ]

The first two examples are correct, the last one should be either

[
   "MaxRotationSpeed"
]

or

[
   "RotationSpeed.MaxRotationSpeed"
]

depending on the question if idShortPaths are always returned as absolute (i.e. starting at the submodel) or relative (i.e. starting at the requested object).

Why is this wrong?

According to #155 the result should contain the requested element itself but example does not contain it.

How should it be fixed?

Update example to one of the two proposed solutions.

sebbader-sap commented 7 months ago

I have updated the "Path" column to:

image

As you write, the discussion in #155 points out that the idShort of the target resource itself should be in the idShortPath, therefore I think the other examples were also not correct.

BirgitBoss commented 7 months ago

I am updating Part 1 (because Path was moved to Part 1 in V3.1). I add the comment:

Note: There is not idShortPath for Identifiables because idShort is optional for Identifiables.

I additionally added a grammar:

[.underline]#Grammar:#

[listing] ....

::= {["." | "[""]" ]}* ::= {}+ ::= "0"| "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ....
sebbader-sap commented 7 months ago

@BirgitBoss I am also preparing a PR towards the aas-specs:IDTA-01001-3-1_working branch containing the latest bugfix changes for ValueOnly and Metadata. Just didn't have the time yet.

sebbader-sap commented 6 months ago

Discussed on 12.3.2024:

  1. idShort-paths need to be fully qualified, therefore, must start always with the idShort of the first SubmodelElement.
  2. The update of the /$path example contains the idShort of the Submodel --> wrong, must be updated again.
  3. Open: Is the target SubmodelElement part of the idShortPath-Array?
  4. Return submdel/$path returns the same as .../submodel-elements/$path just that the latter has also pagination enabled.