admin-shell-io/aas-specs-api

Define Matching Strategy for GetAllxyzBySemanticId

Opened this issue · 1 comments

What is missing?

GetAllSubmodelsBySemanticId states that the value of the query parameter is a Reference, however, there are no more details given.
Missing:

  1. Is the Reference serialised in JSON and then base64url encoded?
  2. Is the matching for "Exact Matching", "Value Matching", or even "Intelligent Matching"?

How should it be fixed?

Decide on the intended behavior and add it to the respective part of the specifcation.

  • I have signed the required Developer Certificate of Origin (DCO) already.

In Design Decisions
semanticIds are included in the parameters that need to be base64url-encoded, see

Identifiers of Identifiables are base64url-encoded to be passed to the HTTP/REST API (see https://www.base64url.com/). 
These may be identifiers for Asset Administration Shells, Submodels, or Concept Descriptions.
Identifiers may also be passed as base64url-encoded query parameters, 
e.g. for semanticId or assetId. 
Such query parameters are typically used when a list of objects may be retrieved in the resulting payload. A list of base64url-encoded ids is simply passed as comma-separated query parameters.

However, it is only a "may"- statement.

I would propose to add a new parameter "matchStrategy" with the values "exact", "value" and "intelligent" with default "exact". For "intelligent" a second parameter "matchSubStrategy" might be needed.