diff --git a/docs/odata-data-aggregation-ext/odata-data-aggregation-ext.html b/docs/odata-data-aggregation-ext/odata-data-aggregation-ext.html index c29a4bcf8..fa7440aa0 100644 --- a/docs/odata-data-aggregation-ext/odata-data-aggregation-ext.html +++ b/docs/odata-data-aggregation-ext/odata-data-aggregation-ext.html @@ -144,6 +144,7 @@
This specification adds basic grouping and aggregation functionality (e.g. sum, min, and max) to the Open Data Protocol (OData) without changing any of the base principles of OData.
@@ -2563,7 +2564,7 @@A recursive hierarchy is defined on a collection of entities by
The recursive hierarchy is described in the model by an annotation of the entity type with the complex term RecursiveHierarchy
with these properties:
The parameter lists defined in the following subsections have three mandatory parameters in common.
-The recursive hierarchy is defined by a parameter pair \((H,Q)\), where \(H\) and \(Q\) MUST be specified as the first and second parameter. Here, \(H\) MUST be an expression of type Collection(Edm.EntityType)
starting with $root
that has no multiple occurrences of the same entity. \(H\) identifies the collection of node entities forming a recursive hierarchy based on an annotation of their common entity type with term RecursiveHierarchy
with a Qualifier
attribute whose value MUST be provided in \(Q\). The property paths referenced by NodeProperty
and ParentNavigationProperty
in the RecursiveHierarchy
annotation must be evaluable for the nodes in the recursive hierarchy, otherwise the service MUST reject the request. The NodeProperty
is denoted by \(q\) in this section.
The recursive hierarchy is defined by a parameter pair \((H,Q)\), where \(H\) and \(Q\) MUST be specified as the first and second parameter. Here, \(H\) MUST be an expression of type Collection(Edm.EntityType)
starting with $root
that has no multiple occurrences of the same entity. \(H\) identifies the collection of node entities forming a recursive hierarchy based on an annotation of their common entity type with term RecursiveHierarchy
with a Qualifier
attribute whose value MUST be provided in \(Q\). If \(H\) is a temporal collection OData-Temporal, section 2.1.3, temporal query options are propagated OData-Temporal, section 4.2.1 to it so that the nodes in \(H\) always refer to a point in time or a time slice. The property paths referenced by NodeProperty
and ParentNavigationProperty
in the RecursiveHierarchy
annotation must be evaluable for the nodes in the recursive hierarchy, otherwise the service MUST reject the request. The NodeProperty
is denoted by \(q\) in this section.
The third parameter MUST be a data aggregation path \(p\) with single- or collection-valued segments whose last segment MUST be a primitive property. The node identifier(s) of an instance \(u\) in the input set are the primitive values in \(γ(u,p)\), they are reached via \(p\) starting from \(u\). Let \(p=p_1/…/p_k/r\) with \(k≥0\) be the concatenation where each sub-path \(p_1,…,p_k\) consists of a collection-valued segment that is preceded by zero or more single-valued segments, and either \(r\) consists of one or more single-valued segments or \(k≥1\) and \({}/r\) is absent. Each segment can be prefixed with a type cast.
Some parameter lists allow as optional fourth or fifth parameter a non-empty sequence \(S\) of transformations. The transformation sequence \(S\) will be applied to the node collection \(H\). It MUST consist of transformations listed in section 3.3 or section 6.2 or service-defined bound functions whose output set is a subset of their input set.
OData Version 4.01. Part 1: Protocol.
See link in "Related work" section on cover page.
OData Extension for Temporal Data Version 4.0.
+See link in "Related work" section on cover page.
OData Version 4.01. Part 2: URL Conventions.
See link in "Related work" section on cover page.