From ff2ffdbf92fbd8a606af15ee8c8d73b753749f3c Mon Sep 17 00:00:00 2001 From: aorzelskiGH Date: Fri, 17 Apr 2026 17:27:54 +0200 Subject: [PATCH] docs(query-language): declare IDTA-01002 as SoT for formula grammar Add a normative subsection "Single source of truth for the formula grammar and JSON Schema" to the Query Language chapter. This clarifies that all formula productions (logical expressions, comparisons, FieldIdentifiers, value literals, type casts, $match/$and/$or/$not) are defined here and MUST NOT be redefined or diverged from in IDTA-01004 (Security). This matches the long-standing practical situation where the two specs ship the same BNF fragments and JSON Schema blocks but did not explicitly name one of them as the authoritative source. Refs: Review Finding T-01 Made-with: Cursor --- .../IDTA-01002-3/modules/ROOT/pages/query-language.adoc | 9 +++++++++ 1 file changed, 9 insertions(+) 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 59ceef1e..52d29f40 100644 --- a/documentation/IDTA-01002-3/modules/ROOT/pages/query-language.adoc +++ b/documentation/IDTA-01002-3/modules/ROOT/pages/query-language.adoc @@ -22,6 +22,15 @@ The Asset Administration Shell propagates a Query Language inspired by the so-ca Note: The AAS Query Language and the AAS Access Rules xref:bibliography.adoc#bib3[[3\]] share the same BNF grammar. Therefore, the result is a superset, with `query` as the entrypoint for the Query Language. ==== +[#formula-grammar-sot] +=== Single source of truth for the formula grammar and JSON Schema + +The BNF grammar and JSON Schema productions for *formula expressions* (logical expressions, comparisons, FieldIdentifiers, value literals, operands, type casts, and `$match` / `$and` / `$or` / `$not` operators) are *normatively defined in this specification* (IDTA-01002, this chapter and the JSON Schema below). + +IDTA-01004 Part 4: Security xref:bibliography.adoc#bib3[[3\]] uses the same formula grammar and schema for `FORMULA`, `FILTER` and related constructs in Access Rules. IDTA-01004 MUST NOT redefine or diverge from these shared productions; it only adds Access-Rule-specific productions (`ACL`, `OBJECTS`, `RIGHTS`, `ACCESS`, `ROUTE`, etc.) on top. + +If a future bugfix or minor release changes a shared production in IDTA-01002, IDTA-01004 inherits that change. Implementations SHOULD validate formulas against the schema shipped with their IDTA-01002 version. + == Use Case Examples