Loading md/clause-5.md +12 −0 Original line number Original line Diff line number Diff line Loading @@ -30,12 +30,16 @@ Even though the JSON serialization format allows inclusion of any character in the Unicode space, NGSI-LD restricts Entity Type names, Property names and the Unicode space, NGSI-LD restricts Entity Type names, Property names and Relationship names to the following ABNF grammar: Relationship names to the following ABNF grammar: <!-- prettier-ignore-start --> ```text ```text nameChar = unicodeNumber / unicodeLetter nameChar = unicodeNumber / unicodeLetter nameChar =/ %x5F ; _ nameChar =/ %x5F ; _ name = unicodeLetter *nameChar name = unicodeLetter *nameChar ``` ``` <!-- prettier-ignore-end --> - _unicodeNumber_ is any Unicode character that has _Number_ as a Category - _unicodeNumber_ is any Unicode character that has _Number_ as a Category [n.22]. With Unicode-capable regular expression (RegEx) parsers, such a [n.22]. With Unicode-capable regular expression (RegEx) parsers, such a character may be matched by [\\p{N}]{.HTML-Code}. character may be matched by [\\p{N}]{.HTML-Code}. Loading @@ -46,11 +50,15 @@ name = unicodeLetter *nameChar In order to avoid name clashing, names can be prefixed as specified by the In order to avoid name clashing, names can be prefixed as specified by the following BNF grammar: following BNF grammar: <!-- prettier-ignore-start --> ```text ```text prefix = unicodeLetter *nameChar prefix = unicodeLetter *nameChar name =/ prefix %x3A unicodeLetter *nameChar ; prefix:name name =/ prefix %x3A unicodeLetter *nameChar ; prefix:name ``` ``` <!-- prettier-ignore-end --> When receiving a JSON-LD object with a name (Type, Property, Relationship) When receiving a JSON-LD object with a name (Type, Property, Relationship) including characters different than those expressed above, implementations including characters different than those expressed above, implementations should raise an error of type [BadRequestData]{.HTML-Error}. should raise an error of type [BadRequestData]{.HTML-Error}. Loading Loading @@ -3695,6 +3703,8 @@ The grammar that encodes the syntax of the Scope is expressed in ABNF format implementations. The special string ["urn:ngsi-ld:null"]{.HTML-Code} (i.e. the implementations. The special string ["urn:ngsi-ld:null"]{.HTML-Code} (i.e. the NGSI-LD Null) shall be only used and only appear in case of deleted scopes. NGSI-LD Null) shall be only used and only appear in case of deleted scopes. <!-- prettier-ignore-start --> ```text ```text Scope = [%x2F] ScopeLevel *(%x2F ScopeLevel) ; [/] ScopeLevel *(/ScopeLevel) Scope = [%x2F] ScopeLevel *(%x2F ScopeLevel) ; [/] ScopeLevel *(/ScopeLevel) Scope =/ "urn:ngsi-ld:null" ; the literal string "urn:ngsi-ld:null" Scope =/ "urn:ngsi-ld:null" ; the literal string "urn:ngsi-ld:null" Loading @@ -3703,6 +3713,8 @@ ScopeLevelChar = unicodeNumber / unicodeLetter ScopeLevelChar =/ %x5F ; _ ScopeLevelChar =/ %x5F ; _ ``` ``` <!-- prettier-ignore-end --> <!-- prettier-ignore-start --> <!-- prettier-ignore-start --> >>> [!tip] EXAMPLE 1: >>> [!tip] EXAMPLE 1: md/clause-7.md +63 −36 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,8 @@ with previous versions of the NGSI-LD API, a comma can be used as an alternative representation of the or operator. For logical and grouping parenthesis are representation of the or operator. For logical and grouping parenthesis are needed. needed. <!-- prettier-ignore-start --> ```text ```text EntityTypes = OrEntityType *(orOp OrEntityType) ; OrEntityType|OrEntityType EntityTypes = OrEntityType *(orOp OrEntityType) ; OrEntityType|OrEntityType OrEntityType = %x28 EntityType *(andOp EntityType) %x29 ; (EntityType;EntityType) OrEntityType = %x28 EntityType *(andOp EntityType) %x29 ; (EntityType;EntityType) Loading @@ -33,6 +35,8 @@ andOp = %x3B ; ; orOp = %x7C / %x2C ; | , orOp = %x7C / %x2C ; | , ``` ``` <!-- prettier-ignore-end --> [EntityType]{.HTML-Sample} is either a valid name as specified in clause 5.2.2.3 [EntityType]{.HTML-Sample} is either a valid name as specified in clause 5.2.2.3 or a URI. or a URI. Loading Loading @@ -131,11 +135,12 @@ format [n.12], is the NGSI-LD Query Language. It is described below (it has been validated using <https://github.com/ietf-tools/bap>[),]{.Hyperlink} and it shall validated using <https://github.com/ietf-tools/bap>[),]{.Hyperlink} and it shall be supported by implementations: be supported by implementations: <!-- prettier-ignore-start --> ```text ```text Query = (QueryTerm / QueryTermAssoc) *(LogicalOp (QueryTerm / Query = (QueryTerm / QueryTermAssoc) *(LogicalOp (QueryTerm / QueryTermAssoc)) QueryTermAssoc)) QueryTermAssoc = %x28 QueryTerm *(LogicalOp QueryTerm) %x29 ; QueryTermAssoc = %x28 QueryTerm *(LogicalOp QueryTerm) %x29 ; (QueryTerm) (QueryTerm) QueryTerm = Attribute QueryTerm = Attribute QueryTerm =/ Attribute Operator ComparableValue QueryTerm =/ Attribute Operator ComparableValue QueryTerm =/ Attribute equal CompEqualityValue QueryTerm =/ Attribute equal CompEqualityValue Loading @@ -143,12 +148,10 @@ QueryTerm =/ Attribute unequal CompEqualityValue QueryTerm =/ Attribute patternOp RegExp QueryTerm =/ Attribute patternOp RegExp QueryTerm =/ Attribute notPatternOp RegExp QueryTerm =/ Attribute notPatternOp RegExp Attribute = LinkedEntityRelation Attribute = LinkedEntityRelation LinkedEntityRelation = AttrName %x7B LinkedEntityPath %x7D ; LinkedEntityRelation = AttrName %x7B LinkedEntityPath %x7D ; AttrName{LinkedEntityPath} AttrName{LinkedEntityPath} LinkedEntityRelation =/ ValuePath LinkedEntityRelation =/ ValuePath LinkedEntityPath = *1(EntityType 1*(%x2C EntityType) %x3A) AttrName %x7B LinkedEntityPath = *1(EntityType 1*(%x2C EntityType) %x3A) AttrName %x7B LinkedEntityPath %x7D LinkedEntityPath %x7D ;*1(EntityType 1*(,EntityType):)AttrName{LinkedEntityPath} ;*1(EntityType 1*(,EntityType):)AttrName{LinkedEntityPath} LinkedEntityPath =/ ValuePath LinkedEntityPath =/ ValuePath ValuePath = DottedPath *1(%x5B DottedPath %x5D) ; DottedPath ValuePath = DottedPath *1(%x5B DottedPath %x5D) ; DottedPath *1([DottedPath]) *1([DottedPath]) Loading Loading @@ -179,6 +182,8 @@ orOp = %x7C ; | LogicalOp = andOp / orOp LogicalOp = andOp / orOp ``` ``` <!-- prettier-ignore-end --> - [unicodeNumber]{.HTML-Sample} is any Unicode character that has Number as a - [unicodeNumber]{.HTML-Sample} is any Unicode character that has Number as a Category [n.22]. With Unicode-capable regular expression (RegEx) parsers, such Category [n.22]. With Unicode-capable regular expression (RegEx) parsers, such a character may be matched by \\p{N}. a character may be matched by \\p{N}. Loading Loading @@ -937,13 +942,13 @@ Geoquery: The following grammar defines the syntax for the geospatial relationships The following grammar defines the syntax for the geospatial relationships (parameter name _`georel`_): (parameter name _`georel`_): <!-- prettier-ignore-start --> ```text ```text andOp = %x3B ; ; andOp = %x3B ; ; equal = %x3D %x3D ; == equal = %x3D %x3D ; == georel = nearRel / withinRel / containsRel / overlapsRel / intersectsRel georel = nearRel / withinRel / containsRel / overlapsRel / intersectsRel / equalsRel / disjointRel / equalsRel / disjointRel nearRel = nearOp andOp distance equal PositiveNumber ; near;max(min)Distance==x (in meters) nearRel = nearOp andOp distance equal PositiveNumber ; near;max(min)Distance==x (in meters) distance = "maxDistance" / "minDistance" distance = "maxDistance" / "minDistance" nearOp = "near" nearOp = "near" withinRel = "within" withinRel = "within" Loading @@ -951,9 +956,11 @@ containsRel = "contains" intersectsRel = "intersects" intersectsRel = "intersects" equalsRel = "equals" equalsRel = "equals" disjointRel = "disjoint" disjointRel = "disjoint" overlapsRel = "overlaps" overlapsRel = "overlaps ``` ``` <!-- prettier-ignore-end --> [PositiveNumber]{.HTML-Sample} shall be a non-zero positive number as mandated [PositiveNumber]{.HTML-Sample} shall be a non-zero positive number as mandated by the JSON Specification. Thus, it shall follow the ABNF Grammar, production by the JSON Specification. Thus, it shall follow the ABNF Grammar, production rule named [Number]{.HTML-Sample}, section 6 of IETF RFC 8259 [n.6], excluding rule named [Number]{.HTML-Sample}, section 6 of IETF RFC 8259 [n.6], excluding Loading Loading @@ -1077,6 +1084,8 @@ Language specified in clause 7.2.3. As a disjunction of Scopes can also be seen as a list, a comma can be used as an alternative representation of the or as a list, a comma can be used as an alternative representation of the or operator. For logical and grouping parenthesis are needed. operator. For logical and grouping parenthesis are needed. <!-- prettier-ignore-start --> ```text ```text ScopesQ = OrScopeQ *(orOp OrScopeQ) ; OrScopeQ|OrScopeQ ScopesQ = OrScopeQ *(orOp OrScopeQ) ; OrScopeQ|OrScopeQ ScopesQ =/ %x2F %23 ; / # ScopesQ =/ %x2F %23 ; / # Loading @@ -1091,6 +1100,8 @@ ScopeQLevelChar = unicodeNumber / unicodeLetter ScopeQLevelChar =/ %x5F ; _ ScopeQLevelChar =/ %x5F ; _ ``` ``` <!-- prettier-ignore-end --> <!-- prettier-ignore-start --> <!-- prettier-ignore-start --> >>> [!tip] EXAMPLE 1: >>> [!tip] EXAMPLE 1: Loading Loading @@ -1164,6 +1175,8 @@ and Relationships that were valid within the specified timeframe. The following grammar defines the syntax that shall be supported: The following grammar defines the syntax that shall be supported: <!-- prettier-ignore-start --> ```text ```text timerel = beforeRel / afterRel / betweenRel timerel = beforeRel / afterRel / betweenRel beforeRel = "before" beforeRel = "before" Loading @@ -1171,6 +1184,8 @@ afterRel = "after" betweenRel = "between" betweenRel = "between" ``` ``` <!-- prettier-ignore-end --> The points in time for comparison are defined as follows: The points in time for comparison are defined as follows: - A _`timeAt`_ parameter, which shall represent the comparison point for the - A _`timeAt`_ parameter, which shall represent the comparison point for the Loading Loading @@ -1337,12 +1352,16 @@ Attributes is a list, either a comma or a pipe character can be used as alternative representations of the or operator. In the following, ABNF grammar alternative representations of the or operator. In the following, ABNF grammar for NGSI-LD Attribute Projection Language is given. for NGSI-LD Attribute Projection Language is given. <!-- prettier-ignore-start --> ```text ```text orOp = %x7C / %x2C ; | , orOp = %x7C / %x2C ; | , ProjectionTerm = AttrName *1(LinkedEntityTerm) *(orOp ProjectionTerm) ProjectionTerm = AttrName *1(LinkedEntityTerm) *(orOp ProjectionTerm) LinkedEntityTerm = %x7B ProjectionTerm %x7D ; {ProjectionTerm} LinkedEntityTerm = %x7B ProjectionTerm %x7D ; {ProjectionTerm} ``` ``` <!-- prettier-ignore-end --> See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. <!-- prettier-ignore-start --> <!-- prettier-ignore-start --> Loading Loading @@ -1437,11 +1456,15 @@ selected Entities In the following, an ABNF grammar for NGSI-LD Attribute filtering is given. In the following, an ABNF grammar for NGSI-LD Attribute filtering is given. <!-- prettier-ignore-start --> ```text ```text andOp = %x2C ; , andOp = %x2C ; , FilteringTerm = AttrName *(andOp FilteringTerm) FilteringTerm = AttrName *(andOp FilteringTerm) ``` ``` <!-- prettier-ignore-end --> See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. For backwards compatibility reasons, [Context Broker]{.HTML-Keyboard} For backwards compatibility reasons, [Context Broker]{.HTML-Keyboard} Loading Loading @@ -1672,6 +1695,8 @@ ordering which shall be applied sequentially. In the following, ABNF grammar for NGSI-LD Entity Ordering Language is given. In the following, ABNF grammar for NGSI-LD Entity Ordering Language is given. <!-- prettier-ignore-start --> ```text ```text thenOp = %x2C ; , thenOp = %x2C ; , directionOp ::= asc | desc | dist-asc| directionOp ::= asc | desc | dist-asc| Loading @@ -1680,6 +1705,8 @@ OrderingTerm = AttrName *1(DirectionTerm) *(thenOp OrderingTerm) DirectionTerm = %x3B directionOp. ; ; DirectionTerm = %x3B directionOp. ; ; ``` ``` <!-- prettier-ignore-end --> See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. <!-- prettier-ignore-start --> <!-- prettier-ignore-start --> Loading Loading
md/clause-5.md +12 −0 Original line number Original line Diff line number Diff line Loading @@ -30,12 +30,16 @@ Even though the JSON serialization format allows inclusion of any character in the Unicode space, NGSI-LD restricts Entity Type names, Property names and the Unicode space, NGSI-LD restricts Entity Type names, Property names and Relationship names to the following ABNF grammar: Relationship names to the following ABNF grammar: <!-- prettier-ignore-start --> ```text ```text nameChar = unicodeNumber / unicodeLetter nameChar = unicodeNumber / unicodeLetter nameChar =/ %x5F ; _ nameChar =/ %x5F ; _ name = unicodeLetter *nameChar name = unicodeLetter *nameChar ``` ``` <!-- prettier-ignore-end --> - _unicodeNumber_ is any Unicode character that has _Number_ as a Category - _unicodeNumber_ is any Unicode character that has _Number_ as a Category [n.22]. With Unicode-capable regular expression (RegEx) parsers, such a [n.22]. With Unicode-capable regular expression (RegEx) parsers, such a character may be matched by [\\p{N}]{.HTML-Code}. character may be matched by [\\p{N}]{.HTML-Code}. Loading @@ -46,11 +50,15 @@ name = unicodeLetter *nameChar In order to avoid name clashing, names can be prefixed as specified by the In order to avoid name clashing, names can be prefixed as specified by the following BNF grammar: following BNF grammar: <!-- prettier-ignore-start --> ```text ```text prefix = unicodeLetter *nameChar prefix = unicodeLetter *nameChar name =/ prefix %x3A unicodeLetter *nameChar ; prefix:name name =/ prefix %x3A unicodeLetter *nameChar ; prefix:name ``` ``` <!-- prettier-ignore-end --> When receiving a JSON-LD object with a name (Type, Property, Relationship) When receiving a JSON-LD object with a name (Type, Property, Relationship) including characters different than those expressed above, implementations including characters different than those expressed above, implementations should raise an error of type [BadRequestData]{.HTML-Error}. should raise an error of type [BadRequestData]{.HTML-Error}. Loading Loading @@ -3695,6 +3703,8 @@ The grammar that encodes the syntax of the Scope is expressed in ABNF format implementations. The special string ["urn:ngsi-ld:null"]{.HTML-Code} (i.e. the implementations. The special string ["urn:ngsi-ld:null"]{.HTML-Code} (i.e. the NGSI-LD Null) shall be only used and only appear in case of deleted scopes. NGSI-LD Null) shall be only used and only appear in case of deleted scopes. <!-- prettier-ignore-start --> ```text ```text Scope = [%x2F] ScopeLevel *(%x2F ScopeLevel) ; [/] ScopeLevel *(/ScopeLevel) Scope = [%x2F] ScopeLevel *(%x2F ScopeLevel) ; [/] ScopeLevel *(/ScopeLevel) Scope =/ "urn:ngsi-ld:null" ; the literal string "urn:ngsi-ld:null" Scope =/ "urn:ngsi-ld:null" ; the literal string "urn:ngsi-ld:null" Loading @@ -3703,6 +3713,8 @@ ScopeLevelChar = unicodeNumber / unicodeLetter ScopeLevelChar =/ %x5F ; _ ScopeLevelChar =/ %x5F ; _ ``` ``` <!-- prettier-ignore-end --> <!-- prettier-ignore-start --> <!-- prettier-ignore-start --> >>> [!tip] EXAMPLE 1: >>> [!tip] EXAMPLE 1:
md/clause-7.md +63 −36 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,8 @@ with previous versions of the NGSI-LD API, a comma can be used as an alternative representation of the or operator. For logical and grouping parenthesis are representation of the or operator. For logical and grouping parenthesis are needed. needed. <!-- prettier-ignore-start --> ```text ```text EntityTypes = OrEntityType *(orOp OrEntityType) ; OrEntityType|OrEntityType EntityTypes = OrEntityType *(orOp OrEntityType) ; OrEntityType|OrEntityType OrEntityType = %x28 EntityType *(andOp EntityType) %x29 ; (EntityType;EntityType) OrEntityType = %x28 EntityType *(andOp EntityType) %x29 ; (EntityType;EntityType) Loading @@ -33,6 +35,8 @@ andOp = %x3B ; ; orOp = %x7C / %x2C ; | , orOp = %x7C / %x2C ; | , ``` ``` <!-- prettier-ignore-end --> [EntityType]{.HTML-Sample} is either a valid name as specified in clause 5.2.2.3 [EntityType]{.HTML-Sample} is either a valid name as specified in clause 5.2.2.3 or a URI. or a URI. Loading Loading @@ -131,11 +135,12 @@ format [n.12], is the NGSI-LD Query Language. It is described below (it has been validated using <https://github.com/ietf-tools/bap>[),]{.Hyperlink} and it shall validated using <https://github.com/ietf-tools/bap>[),]{.Hyperlink} and it shall be supported by implementations: be supported by implementations: <!-- prettier-ignore-start --> ```text ```text Query = (QueryTerm / QueryTermAssoc) *(LogicalOp (QueryTerm / Query = (QueryTerm / QueryTermAssoc) *(LogicalOp (QueryTerm / QueryTermAssoc)) QueryTermAssoc)) QueryTermAssoc = %x28 QueryTerm *(LogicalOp QueryTerm) %x29 ; QueryTermAssoc = %x28 QueryTerm *(LogicalOp QueryTerm) %x29 ; (QueryTerm) (QueryTerm) QueryTerm = Attribute QueryTerm = Attribute QueryTerm =/ Attribute Operator ComparableValue QueryTerm =/ Attribute Operator ComparableValue QueryTerm =/ Attribute equal CompEqualityValue QueryTerm =/ Attribute equal CompEqualityValue Loading @@ -143,12 +148,10 @@ QueryTerm =/ Attribute unequal CompEqualityValue QueryTerm =/ Attribute patternOp RegExp QueryTerm =/ Attribute patternOp RegExp QueryTerm =/ Attribute notPatternOp RegExp QueryTerm =/ Attribute notPatternOp RegExp Attribute = LinkedEntityRelation Attribute = LinkedEntityRelation LinkedEntityRelation = AttrName %x7B LinkedEntityPath %x7D ; LinkedEntityRelation = AttrName %x7B LinkedEntityPath %x7D ; AttrName{LinkedEntityPath} AttrName{LinkedEntityPath} LinkedEntityRelation =/ ValuePath LinkedEntityRelation =/ ValuePath LinkedEntityPath = *1(EntityType 1*(%x2C EntityType) %x3A) AttrName %x7B LinkedEntityPath = *1(EntityType 1*(%x2C EntityType) %x3A) AttrName %x7B LinkedEntityPath %x7D LinkedEntityPath %x7D ;*1(EntityType 1*(,EntityType):)AttrName{LinkedEntityPath} ;*1(EntityType 1*(,EntityType):)AttrName{LinkedEntityPath} LinkedEntityPath =/ ValuePath LinkedEntityPath =/ ValuePath ValuePath = DottedPath *1(%x5B DottedPath %x5D) ; DottedPath ValuePath = DottedPath *1(%x5B DottedPath %x5D) ; DottedPath *1([DottedPath]) *1([DottedPath]) Loading Loading @@ -179,6 +182,8 @@ orOp = %x7C ; | LogicalOp = andOp / orOp LogicalOp = andOp / orOp ``` ``` <!-- prettier-ignore-end --> - [unicodeNumber]{.HTML-Sample} is any Unicode character that has Number as a - [unicodeNumber]{.HTML-Sample} is any Unicode character that has Number as a Category [n.22]. With Unicode-capable regular expression (RegEx) parsers, such Category [n.22]. With Unicode-capable regular expression (RegEx) parsers, such a character may be matched by \\p{N}. a character may be matched by \\p{N}. Loading Loading @@ -937,13 +942,13 @@ Geoquery: The following grammar defines the syntax for the geospatial relationships The following grammar defines the syntax for the geospatial relationships (parameter name _`georel`_): (parameter name _`georel`_): <!-- prettier-ignore-start --> ```text ```text andOp = %x3B ; ; andOp = %x3B ; ; equal = %x3D %x3D ; == equal = %x3D %x3D ; == georel = nearRel / withinRel / containsRel / overlapsRel / intersectsRel georel = nearRel / withinRel / containsRel / overlapsRel / intersectsRel / equalsRel / disjointRel / equalsRel / disjointRel nearRel = nearOp andOp distance equal PositiveNumber ; near;max(min)Distance==x (in meters) nearRel = nearOp andOp distance equal PositiveNumber ; near;max(min)Distance==x (in meters) distance = "maxDistance" / "minDistance" distance = "maxDistance" / "minDistance" nearOp = "near" nearOp = "near" withinRel = "within" withinRel = "within" Loading @@ -951,9 +956,11 @@ containsRel = "contains" intersectsRel = "intersects" intersectsRel = "intersects" equalsRel = "equals" equalsRel = "equals" disjointRel = "disjoint" disjointRel = "disjoint" overlapsRel = "overlaps" overlapsRel = "overlaps ``` ``` <!-- prettier-ignore-end --> [PositiveNumber]{.HTML-Sample} shall be a non-zero positive number as mandated [PositiveNumber]{.HTML-Sample} shall be a non-zero positive number as mandated by the JSON Specification. Thus, it shall follow the ABNF Grammar, production by the JSON Specification. Thus, it shall follow the ABNF Grammar, production rule named [Number]{.HTML-Sample}, section 6 of IETF RFC 8259 [n.6], excluding rule named [Number]{.HTML-Sample}, section 6 of IETF RFC 8259 [n.6], excluding Loading Loading @@ -1077,6 +1084,8 @@ Language specified in clause 7.2.3. As a disjunction of Scopes can also be seen as a list, a comma can be used as an alternative representation of the or as a list, a comma can be used as an alternative representation of the or operator. For logical and grouping parenthesis are needed. operator. For logical and grouping parenthesis are needed. <!-- prettier-ignore-start --> ```text ```text ScopesQ = OrScopeQ *(orOp OrScopeQ) ; OrScopeQ|OrScopeQ ScopesQ = OrScopeQ *(orOp OrScopeQ) ; OrScopeQ|OrScopeQ ScopesQ =/ %x2F %23 ; / # ScopesQ =/ %x2F %23 ; / # Loading @@ -1091,6 +1100,8 @@ ScopeQLevelChar = unicodeNumber / unicodeLetter ScopeQLevelChar =/ %x5F ; _ ScopeQLevelChar =/ %x5F ; _ ``` ``` <!-- prettier-ignore-end --> <!-- prettier-ignore-start --> <!-- prettier-ignore-start --> >>> [!tip] EXAMPLE 1: >>> [!tip] EXAMPLE 1: Loading Loading @@ -1164,6 +1175,8 @@ and Relationships that were valid within the specified timeframe. The following grammar defines the syntax that shall be supported: The following grammar defines the syntax that shall be supported: <!-- prettier-ignore-start --> ```text ```text timerel = beforeRel / afterRel / betweenRel timerel = beforeRel / afterRel / betweenRel beforeRel = "before" beforeRel = "before" Loading @@ -1171,6 +1184,8 @@ afterRel = "after" betweenRel = "between" betweenRel = "between" ``` ``` <!-- prettier-ignore-end --> The points in time for comparison are defined as follows: The points in time for comparison are defined as follows: - A _`timeAt`_ parameter, which shall represent the comparison point for the - A _`timeAt`_ parameter, which shall represent the comparison point for the Loading Loading @@ -1337,12 +1352,16 @@ Attributes is a list, either a comma or a pipe character can be used as alternative representations of the or operator. In the following, ABNF grammar alternative representations of the or operator. In the following, ABNF grammar for NGSI-LD Attribute Projection Language is given. for NGSI-LD Attribute Projection Language is given. <!-- prettier-ignore-start --> ```text ```text orOp = %x7C / %x2C ; | , orOp = %x7C / %x2C ; | , ProjectionTerm = AttrName *1(LinkedEntityTerm) *(orOp ProjectionTerm) ProjectionTerm = AttrName *1(LinkedEntityTerm) *(orOp ProjectionTerm) LinkedEntityTerm = %x7B ProjectionTerm %x7D ; {ProjectionTerm} LinkedEntityTerm = %x7B ProjectionTerm %x7D ; {ProjectionTerm} ``` ``` <!-- prettier-ignore-end --> See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. <!-- prettier-ignore-start --> <!-- prettier-ignore-start --> Loading Loading @@ -1437,11 +1456,15 @@ selected Entities In the following, an ABNF grammar for NGSI-LD Attribute filtering is given. In the following, an ABNF grammar for NGSI-LD Attribute filtering is given. <!-- prettier-ignore-start --> ```text ```text andOp = %x2C ; , andOp = %x2C ; , FilteringTerm = AttrName *(andOp FilteringTerm) FilteringTerm = AttrName *(andOp FilteringTerm) ``` ``` <!-- prettier-ignore-end --> See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. For backwards compatibility reasons, [Context Broker]{.HTML-Keyboard} For backwards compatibility reasons, [Context Broker]{.HTML-Keyboard} Loading Loading @@ -1672,6 +1695,8 @@ ordering which shall be applied sequentially. In the following, ABNF grammar for NGSI-LD Entity Ordering Language is given. In the following, ABNF grammar for NGSI-LD Entity Ordering Language is given. <!-- prettier-ignore-start --> ```text ```text thenOp = %x2C ; , thenOp = %x2C ; , directionOp ::= asc | desc | dist-asc| directionOp ::= asc | desc | dist-asc| Loading @@ -1680,6 +1705,8 @@ OrderingTerm = AttrName *1(DirectionTerm) *(thenOp OrderingTerm) DirectionTerm = %x3B directionOp. ; ; DirectionTerm = %x3B directionOp. ; ; ``` ``` <!-- prettier-ignore-end --> See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. See clause 7.2.3 for the definition of [AttrName]{.HTML-Sample}. <!-- prettier-ignore-start --> <!-- prettier-ignore-start --> Loading