Skip to content

Commit 83bdbd2

Browse files
committed
Initial versions of the vocabularies
1 parent d229e2f commit 83bdbd2

12 files changed

+1466
-0
lines changed
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<body xmlns:ac="remove this before pressing 'Apply'">
2+
<h1>Aggregation Vocabulary</h1>
3+
<p>Terms to describe which data in a given entity model can be aggregated, and how.</p>
4+
<p>
5+
<strong>Namespace: Org.OData.Aggregation.V1</strong>
6+
</p>
7+
<p></p>
8+
<table width="100%" style="border: 1px solid #000000;" border="1">
9+
<tbody>
10+
<tr>
11+
<th><strong>Term</strong></th><th><strong>Description</strong></th>
12+
</tr>
13+
<tr>
14+
<td>ApplySupported</td><td>This structured type or entity container supports the $apply system query option</td>
15+
</tr>
16+
<tr>
17+
<td>Groupable</td><td>This property can be used in the groupby transformation</td>
18+
</tr>
19+
<tr>
20+
<td>Aggregatable</td><td>This property can be used in the aggregate transformation</td>
21+
</tr>
22+
<tr>
23+
<td>CustomAggregate</td><td>Dynamic property that can be used in the aggregate transformation</td>
24+
</tr>
25+
<tr>
26+
<td>ContextDefiningProperties</td><td>The annotated property or custom aggregate is only well-defined in the context of these properties</td>
27+
</tr>
28+
<tr>
29+
<td>LeveledHierarchy</td><td>Defines a leveled hierarchy by defining an ordered list of properties in the hierarchy</td>
30+
</tr>
31+
<tr>
32+
<td>RecursiveHierarchy</td><td>Defines a recursive hierarchy.</td>
33+
</tr>
34+
<tr>
35+
<td>AvailableOnAggregates</td><td>This action or function is available on aggregated entities if the RequiredProperties are still defined</td>
36+
</tr>
37+
</tbody>
38+
</table>
39+
</body>
+178
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
4+
Technical Committee:
5+
OASIS Open Data Protocol (OData) TC
6+
https://www.oasis-open.org/committees/odata
7+
8+
Chairs:
9+
- Ralf Handl ([email protected]), SAP SE
10+
- Ram Jeyaraman ([email protected]), Microsoft
11+
12+
Editors:
13+
- Ralf Handl ([email protected]), SAP SE
14+
- Ram Jeyaraman ([email protected]), Microsoft
15+
- Michael Pizzo ([email protected]), Microsoft
16+
17+
Additional artifacts:
18+
This vocabulary is one component of a Work Product that also includes the following vocabulary components:
19+
- OData Core Vocabulary. Latest version: http://docs.oasis-open.org/odata/odata-vocabularies/v4.0/vocabularies/Org.OData.Core.V1.xml.
20+
- OData Measures Vocabulary. Latest version: http://docs.oasis-open.org/odata/odata-vocabularies/v4.0/vocabularies/Org.OData.Measures.V1.xml.
21+
- OData Capabilities Vocabulary. Latest version: http://docs.oasis-open.org/odata/odata-vocabularies/v4.0/vocabularies/Org.OData.Capabilities.V1.xml.
22+
- OData Validation Vocabulary. Latest version: http://docs.oasis-open.org/odata/odata-vocabularies/v4.0/vocabularies/Org.OData.Validation.V1.xml.
23+
- OData Aggregation Vocabulary. Latest version: http://docs.oasis-open.org/odata/odata-vocabularies/v4.0/vocabularies/Org.OData.Aggretation.V1.xml.
24+
25+
Related work:
26+
This vocabulary is related to:
27+
- OData Version 4.01 Part 1: Protocol. Latest version: http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html.
28+
- OData Version 4.01 Part 2: URL Conventions. Latest version: http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html.
29+
- OData Version 4.01 Part 3: Common Schema Definition Language (CSDL). Latest version: http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part3-csdl.html.
30+
- OData Extension for Data Aggregation Version 4.0. Latest version: http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggregation-ext-v4.0.html.
31+
32+
This vocabulary replaces or supersedes:
33+
- OData Extension for Data Aggregation Version 4.0 Aggregation Vocabulary.
34+
35+
Abstract:
36+
This vocabulary defines terms to describe which data in a given entity model can be aggregated, and how.
37+
38+
-->
39+
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
40+
<edmx:Reference Uri="http://docs.oasis-open.org/odata/odata-vocabularies/v4.0/vocabularies/Org.OData.Core.V1.xml">
41+
<edmx:Include Namespace="Org.OData.Core.V1" Alias="Core" />
42+
</edmx:Reference>
43+
<edmx:DataServices>
44+
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Org.OData.Aggregation.V1" Alias="Aggregation">
45+
<Annotation Term="Core.Description">
46+
<String>Terms to describe which data in a given entity model can be aggregated, and how.</String>
47+
</Annotation>
48+
49+
<Term Name="ApplySupported" Type="Aggregation.ApplySupportedType" AppliesTo="EntityType ComplexType EntityContainer">
50+
<Annotation Term="Core.Description">
51+
<String>This structured type or entity container supports the $apply system query option</String>
52+
</Annotation>
53+
</Term>
54+
<ComplexType Name="ApplySupportedType">
55+
<Property Name="Transformations" Type="Collection(Edm.String)" Nullable="false">
56+
<Annotation Term="Core.Description" String="Transformations that can be used in $apply" />
57+
</Property>
58+
<Property Name="CustomAggregationMethods" Type="Collection(Edm.String)" Nullable="false">
59+
<Annotation Term="Core.Description" String="Qualified names of custom aggregation methods that can be used in aggregate(...with...)" />
60+
</Property>
61+
<Property Name="Rollup" DefaultValue="MultipleHierarchies" Type="Aggregation.RollupType">
62+
<Annotation Term="Core.Description" String="The service supports rollup hierarchies in a groupby transformation" />
63+
</Property>
64+
<Property Name="PropertyRestrictions" DefaultValue="false" Type="Edm.Boolean">
65+
<Annotation Term="Core.Description"
66+
String="Only properties tagged as Groupable can be used in the groupby transformation, and only those tagged as Aggregatable can be used in the aggregate transformation" />
67+
</Property>
68+
</ComplexType>
69+
70+
<EnumType Name="RollupType">
71+
<Annotation Term="Core.Description" String="The number of rollup operators allowed in a groupby transformation" />
72+
<Member Name="None" />
73+
<Member Name="SingleHierarchy" />
74+
<Member Name="MultipleHierarchies" />
75+
</EnumType>
76+
77+
<Term Name="Groupable" Type="Core.Tag" AppliesTo="Property NavigationProperty" DefaultValue="true">
78+
<Annotation Term="Core.Description" String="This property can be used in the groupby transformation" />
79+
</Term>
80+
81+
<Term Name="Aggregatable" Type="Core.Tag" AppliesTo="Property NavigationProperty" DefaultValue="true">
82+
<Annotation Term="Core.Description" String="This property can be used in the aggregate transformation" />
83+
</Term>
84+
85+
<Term Name="CustomAggregate" Type="Edm.String" AppliesTo="EntityType ComplexType EntityContainer">
86+
<Annotation Term="Core.Description" String="Dynamic property that can be used in the aggregate transformation" />
87+
<Annotation Term="Core.LongDescription"
88+
String="This term MUST be applied with a Qualifier, the Qualifier value is the name of the dynamic property. The value of the annotation MUST be the qualified name of a primitive type. The aggregated values will be of that type." />
89+
</Term>
90+
91+
<Term Name="ContextDefiningProperties" Type="Collection(Edm.PropertyPath)" Nullable="false" AppliesTo="Property Annotation">
92+
<Annotation Term="Core.Description"
93+
String="The annotated property or custom aggregate is only well-defined in the context of these properties" />
94+
<Annotation Term="Core.LongDescription">
95+
<String>The context-defining properties need either be part of the result entities, or be restricted to a single value by a pre-filter operation. Examples are postal codes within a country, or monetary amounts whose context is the unit of currency.</String>
96+
</Annotation>
97+
</Term>
98+
99+
<Term Name="LeveledHierarchy" Type="Collection(Edm.PropertyPath)" Nullable="false" AppliesTo="EntityType ComplexType">
100+
<Annotation Term="Core.Description" String="Defines a leveled hierarchy by defining an ordered list of properties in the hierarchy" />
101+
</Term>
102+
103+
<Term Name="RecursiveHierarchy" Type="Aggregation.RecursiveHierarchyType" AppliesTo="EntityType ComplexType">
104+
<Annotation Term="Core.Description" String="Defines a recursive hierarchy." />
105+
</Term>
106+
107+
<ComplexType Name="RecursiveHierarchyType">
108+
<Property Name="NodeProperty" Type="Edm.PropertyPath" Nullable="false">
109+
<Annotation Term="Core.Description" String="Property holding the hierarchy node value" />
110+
</Property>
111+
<Property Name="ParentNavigationProperty" Type="Edm.NavigationPropertyPath" Nullable="false">
112+
<Annotation Term="Core.Description" String="Property for navigating to the parent node" />
113+
</Property>
114+
<Property Name="DistanceFromRootProperty" Type="Edm.PropertyPath" Nullable="true">
115+
<Annotation Term="Core.Description" String="Property holding the number of edges between the node and the root node" />
116+
</Property>
117+
<Property Name="IsLeafProperty" Type="Edm.PropertyPath" Nullable="true">
118+
<Annotation Term="Core.RequiresType" String="Edm.Boolean" />
119+
<Annotation Term="Core.Description" String="Property indicating whether the node is a leaf of the hierarchy" />
120+
</Property>
121+
</ComplexType>
122+
123+
<Function Name="isroot" IsBound="true">
124+
<Annotation Term="Core.Description"
125+
String="Returns true, if and only if the value of the node property of the specified hierarchy is the root of the hierarchy" />
126+
<Parameter Name="Entity" Type="Edm.EntityType" Nullable="false" />
127+
<Parameter Name="Hierarchy" Type="Edm.String" Nullable="false" />
128+
<ReturnType Type="Edm.Boolean" />
129+
</Function>
130+
131+
<Function Name="isdescendant" IsBound="true">
132+
<Annotation Term="Core.Description"
133+
String="Returns true, if and only if the value of the node property of the specified hierarchy is a descendant of the given parent node with a distance of less than or equal to the optionally specified maximum distance" />
134+
<Parameter Name="Entity" Type="Edm.EntityType" Nullable="false" />
135+
<Parameter Name="Hierarchy" Type="Edm.String" Nullable="false" />
136+
<Parameter Name="Node" Type="Edm.PrimitiveType" Nullable="false" />
137+
<Parameter Name="MaxDistance" Type="Edm.Int16" />
138+
<ReturnType Type="Edm.Boolean" />
139+
</Function>
140+
141+
<Function Name="isancestor" IsBound="true">
142+
<Annotation Term="Core.Description"
143+
String="Returns true, if and only if the value of the node property of the specified hierarchy is an ancestor of the given child node with a distance of less than or equal to the optionally specified maximum distance" />
144+
<Parameter Name="Entity" Type="Edm.EntityType" Nullable="false" />
145+
<Parameter Name="Hierarchy" Type="Edm.String" Nullable="false" />
146+
<Parameter Name="Node" Type="Edm.PrimitiveType" Nullable="false" />
147+
<Parameter Name="MaxDistance" Type="Edm.Int16" />
148+
<ReturnType Type="Edm.Boolean" />
149+
</Function>
150+
151+
<Function Name="issibling" IsBound="true">
152+
<Annotation Term="Core.Description"
153+
String="Returns true, if and only if the value of the node property of the specified hierarchy has the same parent node as the specified node" />
154+
<Parameter Name="Entity" Type="Edm.EntityType" Nullable="false" />
155+
<Parameter Name="Hierarchy" Type="Edm.String" Nullable="false" />
156+
<Parameter Name="Node" Type="Edm.PrimitiveType" Nullable="false" />
157+
<ReturnType Type="Edm.Boolean" />
158+
</Function>
159+
160+
<Function Name="isleaf" IsBound="true">
161+
<Annotation Term="Core.Description"
162+
String="Returns true, if and only if the value of the node property of the specified hierarchy has no descendants" />
163+
<Parameter Name="Entity" Type=" Edm.EntityType" Nullable="false" />
164+
<Parameter Name="Hierarchy" Type="Edm.String" Nullable="false" />
165+
<ReturnType Type="Edm.Boolean" />
166+
</Function>
167+
168+
<Term Name="AvailableOnAggregates" Type="Aggregation.AvailableOnAggregatesType" AppliesTo="Action Function">
169+
<Annotation Term="Core.Description"
170+
String="This action or function is available on aggregated entities if the RequiredProperties are still defined" />
171+
</Term>
172+
<ComplexType Name="AvailableOnAggregatesType">
173+
<Property Name="RequiredProperties" Type="Collection(Edm.PropertyPath)" Nullable="false" />
174+
</ComplexType>
175+
176+
</Schema>
177+
</edmx:DataServices>
178+
</edmx:Edmx>
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<body xmlns:ac="remove this before pressing 'Apply'">
2+
<h1>OData Vocabulary</h1>
3+
<p>The Authorization Vocabulary provides terms for describing a web authorization flow</p>
4+
<p>
5+
<strong>Namespace: Org.OData.Authorization</strong>
6+
</p>
7+
<p></p>
8+
<table width="100%" style="border: 1px solid #000000;" border="1">
9+
<tbody>
10+
<tr>
11+
<th><strong>Term</strong></th><th><strong>Description</strong></th>
12+
</tr>
13+
<tr>
14+
<td>Authorizations</td><td>Lists the methods available to authorize access to the annotated resource.</td>
15+
</tr>
16+
</tbody>
17+
</table>
18+
</body>

0 commit comments

Comments
 (0)