diff --git a/documentation/IDTA-01002-3/modules/ROOT/pages/changelog.adoc b/documentation/IDTA-01002-3/modules/ROOT/pages/changelog.adoc index 83fc9dee..26c83027 100644 --- a/documentation/IDTA-01002-3/modules/ROOT/pages/changelog.adoc +++ b/documentation/IDTA-01002-3/modules/ROOT/pages/changelog.adoc @@ -26,6 +26,7 @@ Minor Changes: * Editorial fixes in Table 2 of the Query Language specification (https://github.com/admin-shell-io/aas-specs-api/issues/507[#507]) * Removed the `GetAllAssetAdministrationShellDescriptorsByAssetType` operation from the OpenAPI files for the Asset Administration Shell Registry Service Specification, as it was not intended to be included in the first place and is not implemented by any known implementation. (https://github.com/admin-shell-io/aas-specs-api/issues/515[#515]) * Editorial: Remove links to SwaggerHub from the HTTP API section, as the links are maintained in the service specifications and profiles sections. (https://github.com/admin-shell-io/aas-specs-api/issues/475[#475]) +* Added `supplemantalSemanticIds` to the AAS Query Language specification (https://github.com/admin-shell-io/aas-specs-api/issues/524[#524]) === Operation Changes w.r.t. V3.1.2 to V3.2 diff --git a/documentation/IDTA-01002-3/modules/ROOT/pages/json-grammar.txt b/documentation/IDTA-01002-3/modules/ROOT/pages/json-grammar.txt index 53e0edc0..b52d9aef 100644 --- a/documentation/IDTA-01002-3/modules/ROOT/pages/json-grammar.txt +++ b/documentation/IDTA-01002-3/modules/ROOT/pages/json-grammar.txt @@ -231,15 +231,16 @@ ::= "\"" ( | | | | | ) "\"" ::= "$aas#" ( "idShort" | "id" | "assetInformation.assetKind" | "assetInformation.assetType" | "assetInformation.globalAssetId" | "assetInformation." | "submodels" ( "[" ( [0-9]* ) "]" ) "." ) - ::= "$sm#" ( | "idShort" | "id" ) - ::= "$sme" ( "." )? "#" ( | "idShort" | "value" | "valueType" | "language" ) + ::= "$sm#" ( | | "idShort" | "id" ) + ::= "$sme" ( "." )? "#" ( | | "idShort" | "value" | "valueType" | "language" ) ::= "$cd#" ( "idShort" | "id" ) ::= "$aasdesc#" ( "idShort" | "id" | "assetKind" | "assetType" | "globalAssetId" | | "endpoints" ( "[" ( [0-9]* ) "]" ) "." | "submodelDescriptors" ( "[" ( [0-9]* ) "]" ) "." ) ::= "$smdesc#" - ::= ( | "idShort" | "id" | "endpoints" ( "[" ( [0-9]* ) "]" ) "." ) + ::= ( | | "idShort" | "id" | "endpoints" ( "[" ( [0-9]* ) "]" ) "." ) ::= "interface" | "protocolinformation.href" ::= ( "type" | "keys" ( "[" ( [0-9]* ) "]" ) ( ".type" | ".value" ) ) ::= ( "semanticId" | "semanticId." ) + ::= ( "supplementalSemanticIds" | "supplementalSemanticIds" ( "[" ( [0-9]* ) "]" ) "." ) ::= ( "specificAssetIds" ( "[" ( [0-9]* ) "]" ) ( ".name" | ".value" | ".externalSubjectId" | ".externalSubjectId." ) ) ::= ( ("[" ( [0-9]* ) "]" )* ( "." )* ) ::= ( ( [a-z] | [A-Z] ) (( [a-z] | [A-Z] | [0-9] | "_" | "-" )* ( [a-z] | [A-Z] | [0-9] | "_" ) )? ) diff --git a/documentation/IDTA-01002-3/modules/ROOT/pages/query-language.adoc b/documentation/IDTA-01002-3/modules/ROOT/pages/query-language.adoc index ad894b63..629b49d1 100644 --- a/documentation/IDTA-01002-3/modules/ROOT/pages/query-language.adoc +++ b/documentation/IDTA-01002-3/modules/ROOT/pages/query-language.adoc @@ -132,6 +132,10 @@ h| Root Element h| Definition h| Example | `semanticId.type` | ReferenceType of a semanticId Reference | `$sm#semanticId.type` | `semanticId.keys[].type` | KeyType of a semanticId Reference | `$sm#semanticId.keys[].type` | `semanticId.keys[].value` | Value of a key of a semanticId Reference | `$sme#semanticId.keys[].value` +| `supplementalSemanticIds` | Shortcut for supplementalSemanticIds, see Clause xref:references[References] | `$sm#supplementalSemanticIds` +| `supplementalSemanticIds[].type` | ReferenceType of a supplementalSemanticId Reference | `$sm#supplementalSemanticIds[].type` +| `supplementalSemanticIds[].keys[].type` | KeyType of a supplementalSemanticId Reference | `$sm#supplementalSemanticIds[].keys[].type` +| `supplementalSemanticIds[].keys[].value` | Value of a key of a supplementalSemanticId Reference | `$sm#supplementalSemanticIds[].keys[].value` | `value` | Value of a Submodel Element | `$sme#value` | `valueType` | ValueType of a Submodel Element | `$sme.someIdShort#valueType` | `language` | Language of a Multilanguage Property | `$sme#language` @@ -163,6 +167,10 @@ Note: Can only be used with Asset Administration Shell Descriptors or Submodel D | `submodelDescriptors.semanticId.type` | ReferenceType of a semanticId Reference used in a referenced Submodel of an Asset Administration Shell Descriptor | `$aasdesc#submodelDescriptors.semanticId.type` | `submodelDescriptors.semanticId.keys[].type` | KeyType of a semanticId Reference used in a referenced Submodel of an Asset Administration Shell Descriptor | `$aasdesc#submodelDescriptors.semanticId.keys[].type` | `submodelDescriptors.semanticId.keys[].value` | Value of a key of a semanticId Reference used in a referenced Submodel of an Asset Administration Shell Descriptor | `$aasdesc#submodelDescriptors.semanticId.keys[].value` +| `submodelDescriptors.supplementalSemanticIds` | Shortcut for supplementalSemanticIds, see Clause xref:references[References] | `$aasdesc#submodelDescriptors.supplementalSemanticIds` +| `submodelDescriptors.supplementalSemanticIds[].type` | ReferenceType of a supplementalSemanticId Reference used in a referenced Submodel of an Asset Administration Shell Descriptor | `$aasdesc#submodelDescriptors.supplementalSemanticIds[].type` +| `submodelDescriptors.supplementalSemanticIds[].keys[].type` | KeyType of a supplementalSemanticId Reference used in a referenced Submodel of an Asset Administration Shell Descriptor | `$aasdesc#submodelDescriptors.supplementalSemanticIds[].keys[].type` +| `submodelDescriptors.supplementalSemanticIds[].keys[].value` | Value of a key of a supplementalSemanticId Reference used in a referenced Submodel of an Asset Administration Shell Descriptor | `$aasdesc#submodelDescriptors.supplementalSemanticIds[].keys[].value` | `submodelDescriptors.id` | Identifier of a referenced Submodel as available in an Asset Administration Shell Descriptor | `$aasdesc#submodelDescriptors.id` | `submodelDescriptors.idShort` | idShort of a referenced Submodel as available in an Asset Administration Shell Descriptor | `$aasdesc#submodelDescriptors.idShort` | `submodelDescriptors.endpoints[].interface` | Endpoint interface of a referenced Submodel as available in an Asset Administration Shell Descriptor | `$aasdesc#submodelDescriptors.endpoints[0].interface` @@ -395,6 +403,18 @@ A comparison using the semanticId as a shortcut could look like the following: $sme#semanticId $eq "https://example.com/a/semantic/id" .... +This shall also work for supplementalSemanticIds, e.g.: + +.... + $sme#supplementalSemanticIds $eq "https://example.com/a/supplemental/semantic/id" +.... + +Which is equivilant to: +.... + $sme#supplementalSemanticIds[0].keys[0].value $eq "https://example.com/a/supplemental/semantic/id" +.... + + == Match of Elements in Lists The `$match` operator signals that the following clauses (a) contain at least 1 list of elements with `[]` syntax, and that (b) all conditions shall be evaluated on the same element of this list.