From 34ba016e6adcc5078fac8103ef0ded0776e3c20a Mon Sep 17 00:00:00 2001
From: D024504 OASIS Open Data Protocol (OData) TC Ralf Handl (ralf.handl@sap.com), SAP SE Ralf Handl (ralf.handl@sap.com), SAP SE Ralf Handl (ralf.handl@sap.com), SAP SE Ralf Handl (ralf.handl@sap.com), SAP SE This specification replaces or supersedes: OData Vocabularies Version 4.0. Edited by Ralf Handl, Michael Pizzo, and Ram Jeyaraman. 08 December 2016. OASIS Committee Specification Draft 01 / Public Review Draft 01. http://docs.oasis-open.org/odata/odata-vocabularies/v4.0/csprd01/odata-vocabularies-v4.0-csprd01.html. Latest version: http://docs.oasis-open.org/odata/odata-vocabularies/v4.0/odata-vocabularies-v4.0.html. This specification is related to: Namespace: Org.OData.Core.V1 Namespace: Org.OData.Core.V1 Core terms needed to write vocabularies The Link term is inspired by the Derived Types: Type: String Derived Types: Type: Boolean This is the type to use for all tagging terms Type: String The qualified name of a term in scope. Type: String The qualified name of a type in scope. Type: String The qualified name of an action in scope. Type: String The qualified name of a bound action or function in scope. EitherLatest stage:
Technical Committee:
Chairs:
-
-Michael Pizzo (mikep@microsoft.com), Microsoft
+Michael Pizzo (mikep@microsoft.com), MicrosoftEditors:
-
-Michael Pizzo (mikep@microsoft.com), Microsoft
-Heiko Theißen (heiko.theissen@sap.com), SAP SERelated work:
+
+Michael Pizzo (mikep@microsoft.com), Microsoft
+Heiko Theißen (heiko.theissen@sap.com), SAP SERelated work:
@@ -102,7 +102,7 @@
Table of Contents
1 Core Vocabulary
-Terms
@@ -115,224 +115,224 @@
-
-Terms
-
ODataVersions
+ODataVersions
String
-A space-separated list of supported versions of the OData Protocol. Note that 4.0 is implied by 4.01 and does not need to be separately listed.
+A space-separated list of supported versions of the OData Protocol. Note that 4.0 is implied by 4.01 and does not need to be separately listed.
-
SchemaVersion
+SchemaVersion
String
-Service-defined value representing the version of the schema. Services MAY use semantic versioning, but clients MUST NOT assume this is the case.
+Service-defined value representing the version of the schema. Services MAY use semantic versioning, but clients MUST NOT assume this is the case.
-
Revisions
-[RevisionType]
-List of revisions of a model element
+Revisions
+[RevisionType]
+List of revisions of a model element
-
Description
+Description
String?
-A brief description of a model element
+A brief description of a model element
-
LongDescription
+LongDescription
String?
-A long description of a model element
+A long description of a model element
-
Links
-[Link]
-Link to related information
+Links
+[Link]
+Link to related information
-
Example
-ExampleValue
-Example for an instance of the annotated model element (Example)
+Example
+ExampleValue
+Example for an instance of the annotated model element (Example)
-
Messages
-[MessageType]
-Instance annotation for warning and info messages
+Messages
+[MessageType]
+Instance annotation for warning and info messages
-
ValueException
-ValueExceptionType
-The annotated value is problematic
+ValueException
+ValueExceptionType
+The annotated value is problematic
-
ResourceException
-ResourceExceptionType
-The annotated instance within a success payload is problematic
+ResourceException
+ResourceExceptionType
+The annotated instance within a success payload is problematic
-
DataModificationException
-DataModificationExceptionType
-A modification operation failed on the annotated instance or collection within a success payload
+DataModificationException
+DataModificationExceptionType
+A modification operation failed on the annotated instance or collection within a success payload
-
IsLanguageDependent
-Tag
-Properties and terms annotated with this term are language-dependent
+IsLanguageDependent
+Tag
+Properties and terms annotated with this term are language-dependent
-
RequiresType
+RequiresType
String
-Terms annotated with this term can only be applied to elements that have a type that is identical to or derived from the given type name
+Terms annotated with this term can only be applied to elements that have a type that is identical to or derived from the given type name
-
AppliesViaContainer
-Tag
-The target path of an annotation with the tagged term MUST start with an entity container or the annotation MUST be embedded within an entity container, entity set or singleton
+
Services MAY additionally annotate a container-independent model element (entity type, property, navigation property) if allowed by the AppliesTo
property of the term and the annotation applies to all uses of that model element.AppliesViaContainer
+Tag
+The target path of an annotation with the tagged term MUST start with an entity container or the annotation MUST be embedded within an entity container, entity set or singleton
Services MAY additionally annotate a container-independent model element (entity type, property, navigation property) if allowed by the AppliesTo
property of the term and the annotation applies to all uses of that model element.
-
ResourcePath
+ResourcePath
URL
-Resource path for entity container child, can be relative to xml:base and the request URL
+Resource path for entity container child, can be relative to xml:base and the request URL
-
DereferenceableIDs
-Tag
-Entity-ids are URLs that locate the identified entity
+DereferenceableIDs
+Tag
+Entity-ids are URLs that locate the identified entity
-
ConventionalIDs
-Tag
-Entity-ids follow OData URL conventions
+ConventionalIDs
+Tag
+Entity-ids follow OData URL conventions
-
Permissions
-Permission
-Permissions for accessing a resource
+Permissions
+Permission
+Permissions for accessing a resource
-
ContentID
+ContentID
String
-A unique identifier for nested entities within a request.
+A unique identifier for nested entities within a request.
-
DefaultNamespace
-Tag
-Functions, actions and types in this namespace can be referenced in URLs with or without namespace- or alias- qualification.
+
Data Modelers should ensure uniqueness of schema children across all default namespaces, and should avoid naming bound functions, actions, or derived types with the same name as a structural or navigational property of the type.DefaultNamespace
+Tag
+Functions, actions and types in this namespace can be referenced in URLs with or without namespace- or alias- qualification.
Data Modelers should ensure uniqueness of schema children across all default namespaces, and should avoid naming bound functions, actions, or derived types with the same name as a structural or navigational property of the type.
-
Immutable
-Tag
-A value for this non-key property can be provided by the client on insert and remains unchanged on update
+Immutable
+Tag
+A value for this non-key property can be provided by the client on insert and remains unchanged on update
-
Computed
-Tag
-A value for this property is generated on both insert and update
+Computed
+Tag
+A value for this property is generated on both insert and update
-
ComputedDefaultValue
-Tag
-A value for this property can be provided by the client on insert and update. If no value is provided on insert, a non-static default value is generated
+ComputedDefaultValue
+Tag
+A value for this property can be provided by the client on insert and update. If no value is provided on insert, a non-static default value is generated
-
IsURL
-Tag
-Properties and terms annotated with this term MUST contain a valid URL
+IsURL
+Tag
+Properties and terms annotated with this term MUST contain a valid URL
-
AcceptableMediaTypes
+AcceptableMediaTypes
[MediaType]
-Lists the MIME types acceptable for the annotated entity type marked with HasStream=“true” or the annotated binary, stream, or string property or term
+
The annotation of a TypeDefinition propagates to the model elements having this typeLists the MIME types acceptable for the annotated entity type marked with HasStream=“true” or the annotated binary, stream, or string property or term
The annotation of a TypeDefinition propagates to the model elements having this type
-
MediaType
+MediaType
MediaType?
-The media type of the media stream of the annotated entity type marked with HasStream=“true” or the annotated binary, stream, or string property or term
+
The annotation of a TypeDefinition propagates to the model elements having this typeThe media type of the media stream of the annotated entity type marked with HasStream=“true” or the annotated binary, stream, or string property or term
The annotation of a TypeDefinition propagates to the model elements having this type
-
IsMediaType
-Tag
-Properties and terms annotated with this term MUST contain a valid MIME type
+IsMediaType
+Tag
+Properties and terms annotated with this term MUST contain a valid MIME type
-
ContentDisposition
-ContentDispositionType
-The content disposition of the media stream of the annotated entity type marked with HasStream=“true” or the annotated binary, stream, or string property or term
+ContentDisposition
+ContentDispositionType
+The content disposition of the media stream of the annotated entity type marked with HasStream=“true” or the annotated binary, stream, or string property or term
-
OptimisticConcurrency
+OptimisticConcurrency
[PropertyPath]
-Data modification requires the use of ETags. A non-empty collection contains the set of properties that are used to compute the ETag. An empty collection means that the service won’t tell how it computes the ETag
+Data modification requires the use of ETags. A non-empty collection contains the set of properties that are used to compute the ETag. An empty collection means that the service won’t tell how it computes the ETag
-
AdditionalProperties
-Tag
-Instances of this type may contain properties in addition to those declared in $metadata
+
If specified as false clients can assume that instances will not contain dynamic properties, irrespective of the value of the OpenType attribute.AdditionalProperties
+Tag
+Instances of this type may contain properties in addition to those declared in $metadata
If specified as false clients can assume that instances will not contain dynamic properties, irrespective of the value of the OpenType attribute.
-
AutoExpand
-Tag
-The service will automatically expand this stream property, navigation property, or the media stream of this media entity type even if not requested with $expand
+AutoExpand
+Tag
+The service will automatically expand this stream property, navigation property, or the media stream of this media entity type even if not requested with $expand
-
AutoExpandReferences
-Tag
-The service will automatically expand this navigation property as entity references even if not requested with \(expand=.../\)ref
+AutoExpandReferences
+Tag
+The service will automatically expand this navigation property as entity references even if not requested with \(expand=.../\)ref
-
MayImplement
-[QualifiedTypeName]
-A collection of qualified type names outside of the type hierarchy that instances of this type might be addressable as by using a type-cast segment.
+MayImplement
+[QualifiedTypeName]
+A collection of qualified type names outside of the type hierarchy that instances of this type might be addressable as by using a type-cast segment.
-
Ordered
-Tag
-Collection has a stable order. Ordered collections of primitive or complex types can be indexed by ordinal.
+Ordered
+Tag
+Collection has a stable order. Ordered collections of primitive or complex types can be indexed by ordinal.
-
PositionalInsert
-Tag
-Items can be inserted at a given ordinal index.
+PositionalInsert
+Tag
+Items can be inserted at a given ordinal index.
-
AlternateKeys
-[AlternateKey]
-Communicates available alternate keys
+AlternateKeys
+[AlternateKey]
+Communicates available alternate keys
-
OptionalParameter
-OptionalParameterType
-Supplying a value for the action or function parameter is optional.
+
All parameters marked as optional must come after any parameters not marked as optional. The binding parameter must not be marked as optional.OptionalParameter
+OptionalParameterType
+Supplying a value for the action or function parameter is optional.
All parameters marked as optional must come after any parameters not marked as optional. The binding parameter must not be marked as optional.
-
OperationAvailable
+OperationAvailable
Boolean?
-Action or function is available
+
The annotation value will usually be an expression, e.g. using properties of the binding parameter type for instance-dependent availability, or using properties of a singleton for global availability. The static value null
means that availability cannot be determined upfront and is instead expressed as an operation advertisement.Action or function is available
The annotation value will usually be an expression, e.g. using properties of the binding parameter type for instance-dependent availability, or using properties of a singleton for global availability. The static value null
means that availability cannot be determined upfront and is instead expressed as an operation advertisement.
-
RequiresExplicitBinding
-Tag?
-This bound action or function is only available on model elements annotated with the ExplicitOperationBindings term.
+RequiresExplicitBinding
+Tag?
+This bound action or function is only available on model elements annotated with the ExplicitOperationBindings term.
-
ExplicitOperationBindings
-[QualifiedBoundOperationName]
-The qualified names of explicitly bound operations that are supported on the target model element. These operations are in addition to any operations not annotated with RequiresExplicitBinding that are bound to the type of the target model element.
+ExplicitOperationBindings
+[QualifiedBoundOperationName]
+The qualified names of explicitly bound operations that are supported on the target model element. These operations are in addition to any operations not annotated with RequiresExplicitBinding that are bound to the type of the target model element.
-
SymbolicName
-SimpleIdentifier
-A symbolic name for a model element
+SymbolicName
+SimpleIdentifier
+A symbolic name for a model element
-
GeometryFeature
-GeometryFeatureType?
-A Feature Object represents a spatially bounded thing
+GeometryFeature
+GeometryFeatureType?
+A Feature Object represents a spatially bounded thing
-
AnyStructure
-Tag
-Instances of a type are annotated with this tag if they have no common structure in a given response payload
+
The select-list of a context URL MUST be (@Core.AnyStructure)
if it would otherwise be empty, but this instance annotation SHOULD be omitted from the response value.AnyStructure
+Tag
+Instances of a type are annotated with this tag if they have no common structure in a given response payload
The select-list of a context URL MUST be (@Core.AnyStructure)
if it would otherwise be empty, but this instance annotation SHOULD be omitted from the response value.RevisionType
+
+RevisionType
-
-
@@ -343,24 +343,24 @@
-
Version
+Version
String?
The schema version with which this revision was first published
-
Kind
-RevisionKind
+Kind
+RevisionKind
The kind of revision
-
Description
+Description
String
Text describing the reason for the revision
RevisionKind
+
+RevisionKind
-
-
@@ -371,24 +371,24 @@
-
Added
+Added
0
Model element was added
-
Modified
+Modified
1
Model element was modified
-
Deprecated
+Deprecated
2
Model element was deprecated
Link
+
+Link
atom:link
element, see RFC4287, and the Link
HTTP header, see RFC5988
@@ -400,25 +400,25 @@
-
-
-
rel
+rel
String
Link relation type, see IANA Link Relations
-
href
+href
URL
URL of related information
ExampleValue
+
+ExampleValue
-
@@ -430,14 +430,14 @@
-
-
-
Description
+Description
String?
Description of the example value
PrimitiveExampleValue: ExampleValue
+
+PrimitiveExampleValue: ExampleValue
-
-
@@ -448,19 +448,19 @@
-
Description
+Description
String?
Description of the example value
-
Value
+Value
PrimitiveType
Example value for the custom parameter
ComplexExampleValue: ExampleValue
+
+ComplexExampleValue: ExampleValue
-
-
@@ -471,19 +471,19 @@
-
Description
+Description
String?
Description of the example value
-
Value
+Value
ComplexType
Example value for the custom parameter
EntityExampleValue: ExampleValue
+
+EntityExampleValue: ExampleValue
-
-
@@ -494,19 +494,19 @@
-
Description
+Description
String?
Description of the example value
-
Value
+Value
EntityType
Example value for the custom parameter
ExternalExampleValue: ExampleValue
+
+ExternalExampleValue: ExampleValue
-
-
@@ -517,19 +517,19 @@
-
Description
+Description
String?
Description of the example value
-
ExternalValue
+ExternalValue
URL
Url reference to the value in its literal format
MessageType
+
+MessageType
-
-
@@ -540,34 +540,34 @@
-
code
+code
String
Machine-readable, language-independent message code
-
message
+message
String
Human-readable, language-dependent message text
-
severity
-MessageSeverity
+severity
+MessageSeverity
Severity of the message
-
target
+target
String?
A path to the target of the message detail, relative to the annotated instance
-
details
-[MessageType]
+details
+[MessageType]
List of detail messages
MessageSeverity
+
+MessageSeverity
@@ -578,30 +578,30 @@
-
-
-
success
+success
Positive feedback - no action required
-
info
+info
Additional information - no action required
-
warning
+warning
Warning - action may be required
-
error
+error
Error - action is required
ExceptionType
+
+ExceptionType
-
@@ -613,14 +613,14 @@
-
-
-
info
-MessageType?
+info
+MessageType?
Information about the exception
ValueExceptionType: ExceptionType
+
+ValueExceptionType: ExceptionType
-
-
@@ -631,19 +631,19 @@
-
info
-MessageType?
+info
+MessageType?
Information about the exception
-
value
+value
String?
String representation of the exact value
ResourceExceptionType: ExceptionType
+
+ResourceExceptionType: ExceptionType
-
-
@@ -654,19 +654,19 @@
-
info
-MessageType?
+info
+MessageType?
Information about the exception
-
retryLink
+retryLink
URL?
A GET request to this URL retries retrieving the problematic instance
DataModificationExceptionType: ExceptionType
+
+DataModificationExceptionType: ExceptionType
-
-
@@ -677,24 +677,24 @@
-
info
-MessageType?
+info
+MessageType?
Information about the exception
-
failedOperation
-DataModificationOperationKind
+failedOperation
+DataModificationOperationKind
The kind of modification operation that failed
-
responseCode
+responseCode
Int16?
Response code of the failed operation, e.g. 424 for a failed dependency
DataModificationOperationKind
+
+DataModificationOperationKind
-
-
@@ -705,48 +705,48 @@
-
insert
+insert
0
Insert new instance
-
update
+update
1
Update existing instance
-
upsert
+upsert
2
Insert new instance or update it if it already exists
-
delete
+delete
3
Delete existing instance
-
invoke
+invoke
4
Invoke action or function
-
link
+link
5
Add link between entities
-
unlink
+unlink
6
Remove link between entities
Tag
+
+Tag
Permission
+
+Permission
-
-
@@ -757,34 +757,34 @@
-
None
+None
0
No permissions
-
Read
+Read
1
Read permission
-
Write
+Write
2
Write permission
-
ReadWrite
+ReadWrite
3
Read and write permission
-
Invoke
+Invoke
4
Permission to invoke actions
ContentDispositionType
+
+ContentDispositionType
-
-
@@ -795,31 +795,31 @@
-
Type
+Type
String
The disposition type of the binary or stream value, see RFC 6266, Disposition Type
-
Filename
+Filename
String?
The proposed filename for downloading the binary or stream value, see RFC 6266, Disposition Parameter: ‘Filename’
QualifiedTermName
+
+QualifiedTermName
QualifiedTypeName
+
+QualifiedTypeName
QualifiedActionName
+
+QualifiedActionName
QualifiedBoundOperationName
+
+QualifiedBoundOperationName
Key | -[PropertyRef] | +Key | +[PropertyRef] | The set of properties that make up this key |
Name | +Name | PropertyPath | A path expression resolving to a primitive property of the entity type itself or to a primitive property of a complex or navigation property (recursively) of the entity type. The names of the properties in the path are joined together by forward slashes. |
Alias | +Alias | String | A SimpleIdentifier that MUST be unique within the set of aliases, structural and navigation properties of the containing entity type that MUST be used in the key predicate of URLs |
A dictionary of name-value pairs. Names must be valid property names, values may be restricted to a list of types via an annotation with term Validation.OpenPropertyTypeConstraint
.
DefaultValue | +DefaultValue | String? | Default value for an optional parameter of primitive or enumeration type, using the same rules as the cast function in URLs.If no explicit DefaultValue is specified, the service is free on how to interpret omitting the parameter from the request. For example, a service might interpret an omitted optional parameter KeyDate as having the current date. |
Type: String
A string representing a Local Date-Time value with no offset.
- -Type: String
- -A Feature Object represents a spatially bounded thing
geometry | +geometry | Geometry? | Location of the Feature | ||
properties | -Dictionary? | +properties | +Dictionary? | Properties of the Feature | |
id | +id | String? | Commonly used identifer for a Feature | ||
ConformanceLevel | -ConformanceLevelType | -The conformance level achieved by this service | +ConformanceLevel | +ConformanceLevelType | +The conformance level achieved by this service |
SupportedFormats | +SupportedFormats | [MediaType] | -Media types of supported formats, including format parameters | +Media types of supported formats, including format parameters | |
SupportedMetadataFormats | +SupportedMetadataFormats | [MediaType] | -Media types of supported formats for $metadata, including format parameters | +Media types of supported formats for $metadata, including format parameters | |
AcceptableEncodings | +AcceptableEncodings | [String] | -List of acceptable compression methods for ($batch) requests, e.g. gzip | +List of acceptable compression methods for ($batch) requests, e.g. gzip | |
AsynchronousRequestsSupported | -Tag | -Service supports the asynchronous request preference | +AsynchronousRequestsSupported | +Tag | +Service supports the asynchronous request preference |
BatchContinueOnErrorSupported | -Tag | -Service supports the continue on error preference. Supports $batch requests. Services that apply the BatchContinueOnErrorSupported term should also specify the ContinueOnErrorSupported property from the BatchSupport term. | +BatchContinueOnErrorSupported | +Tag | +Service supports the continue on error preference. Supports $batch requests. Services that apply the BatchContinueOnErrorSupported term should also specify the ContinueOnErrorSupported property from the BatchSupport term. |
IsolationSupported | -IsolationLevel | -Supported odata.isolation levels | +IsolationSupported | +IsolationLevel | +Supported odata.isolation levels |
CrossJoinSupported | -Tag | -Supports cross joins for the entity sets in this container | +CrossJoinSupported | +Tag | +Supports cross joins for the entity sets in this container |
CallbackSupported | -CallbackType | -Supports callbacks for the specified protocols | +CallbackSupported | +CallbackType | +Supports callbacks for the specified protocols |
ChangeTracking | -ChangeTrackingType | -Change tracking capabilities of this service or entity set | +ChangeTracking | +ChangeTrackingType | +Change tracking capabilities of this service or entity set |
CountRestrictions | -CountRestrictionsType | -Restrictions on /$count path suffix and $count=true system query option | +CountRestrictions | +CountRestrictionsType | +Restrictions on /$count path suffix and $count=true system query option |
NavigationRestrictions | -NavigationRestrictionsType | -Restrictions on navigating properties according to OData URL conventions Restrictions specified on an entity set are valid whether the request is directly to the entity set or through a navigation property bound to that entity set. Services can specify a different set of restrictions specific to a path, in which case the more specific restrictions take precedence. |
+NavigationRestrictions | +NavigationRestrictionsType | +Restrictions on navigating properties according to OData URL conventions Restrictions specified on an entity set are valid whether the request is directly to the entity set or through a navigation property bound to that entity set. Services can specify a different set of restrictions specific to a path, in which case the more specific restrictions take precedence. |
IndexableByKey | -Tag | -Supports key values according to OData URL conventions | +IndexableByKey | +Tag | +Supports key values according to OData URL conventions |
TopSupported | -Tag | -Supports $top | +TopSupported | +Tag | +Supports $top |
SkipSupported | -Tag | -Supports $skip | +SkipSupported | +Tag | +Supports $skip |
ComputeSupported | -Tag | -Supports $compute | +ComputeSupported | +Tag | +Supports $compute |
SelectSupport | -SelectSupportType | -Support for $select and nested query options within $select | +SelectSupport | +SelectSupportType | +Support for $select and nested query options within $select |
BatchSupported | -Tag | -Supports $batch requests. Services that apply the BatchSupported term should also apply the more comprehensive BatchSupport term. | +BatchSupported | +Tag | +Supports $batch requests. Services that apply the BatchSupported term should also apply the more comprehensive BatchSupport term. |
BatchSupport | -BatchSupportType | -Batch Support for the service | +BatchSupport | +BatchSupportType | +Batch Support for the service |
FilterFunctions | +FilterFunctions | [String] | -List of functions and operators supported in filter expressions If not specified, null, or empty, all functions and operators may be attempted. |
+List of functions and operators supported in filter expressions If not specified, null, or empty, all functions and operators may be attempted. |
|
FilterRestrictions | -FilterRestrictionsType | -Restrictions on filter expressions | +FilterRestrictions | +FilterRestrictionsType | +Restrictions on filter expressions |
SortRestrictions | -SortRestrictionsType | -Restrictions on orderby expressions | +SortRestrictions | +SortRestrictionsType | +Restrictions on orderby expressions |
ExpandRestrictions | -ExpandRestrictionsType | -Restrictions on expand expressions | +ExpandRestrictions | +ExpandRestrictionsType | +Restrictions on expand expressions |
SearchRestrictions | -SearchRestrictionsType | -Restrictions on search expressions | +SearchRestrictions | +SearchRestrictionsType | +Restrictions on search expressions |
KeyAsSegmentSupported | -Tag | -Supports key-as-segment convention for addressing entities within a collection | +KeyAsSegmentSupported | +Tag | +Supports key-as-segment convention for addressing entities within a collection |
QuerySegmentSupported | -Tag | -Supports passing query options in the request body | +QuerySegmentSupported | +Tag | +Supports passing query options in the request body |
InsertRestrictions | -InsertRestrictionsType | -Restrictions on insert operations | +InsertRestrictions | +InsertRestrictionsType | +Restrictions on insert operations |
DeepInsertSupport | -DeepInsertSupportType? | -Deep Insert Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) | +DeepInsertSupport | +DeepInsertSupportType? | +Deep Insert Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) |
UpdateRestrictions | -UpdateRestrictionsType | -Restrictions on update operations | +UpdateRestrictions | +UpdateRestrictionsType | +Restrictions on update operations |
DeepUpdateSupport | -DeepUpdateSupportType | -Deep Update Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) | +DeepUpdateSupport | +DeepUpdateSupportType | +Deep Update Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) |
DeleteRestrictions | -DeleteRestrictionsType | -Restrictions on delete operations | +DeleteRestrictions | +DeleteRestrictionsType | +Restrictions on delete operations |
CollectionPropertyRestrictions | -[CollectionPropertyRestrictionsType] | -Describes restrictions on operations applied to collection-valued structural properties | +CollectionPropertyRestrictions | +[CollectionPropertyRestrictionsType] | +Describes restrictions on operations applied to collection-valued structural properties |
OperationRestrictions | -OperationRestrictionsType | -Restrictions for function or action operation | +OperationRestrictions | +OperationRestrictionsType | +Restrictions for function or action operation |
AnnotationValuesInQuerySupported | -Tag | -Supports annotation values within system query options | +AnnotationValuesInQuerySupported | +Tag | +Supports annotation values within system query options |
ModificationQueryOptions | -ModificationQueryOptionsType | -Support for query options with modification requests (insert, update, action invocation) | +ModificationQueryOptions | +ModificationQueryOptionsType | +Support for query options with modification requests (insert, update, action invocation) |
ReadRestrictions | -ReadRestrictionsType | -Restrictions for retrieving a collection of entities, retrieving a singleton instance. | +ReadRestrictions | +ReadRestrictionsType | +Restrictions for retrieving a collection of entities, retrieving a singleton instance. |
CustomHeaders | -[CustomParameter] | -Custom headers that are supported/required for the annotated resource (Example) | +CustomHeaders | +[CustomParameter] | +Custom headers that are supported/required for the annotated resource (Example) |
CustomQueryOptions | -[CustomParameter] | -Custom query options that are supported/required for the annotated resource (Example) If the entity container is annotated, the query option is supported/required by all resources in that container. |
+CustomQueryOptions | +[CustomParameter] | +Custom query options that are supported/required for the annotated resource (Example) If the entity container is annotated, the query option is supported/required by all resources in that container. |
MediaLocationUpdateSupported | -Tag | -Stream property or media stream supports update of its media edit URL and/or media read URL | +MediaLocationUpdateSupported | +Tag | +Stream property or media stream supports update of its media edit URL and/or media read URL |
DefaultCapabilities | -DefaultCapabilitiesType | -Default capability settings for all collection-valued resources in the container Annotating a specific capability term, which is included as property in
|
+DefaultCapabilities | +DefaultCapabilitiesType | +Default capability settings for all collection-valued resources in the container Annotating a specific capability term, which is included as property in
|
Minimal | +Minimal | 0 | Minimal conformance level |
Intermediate | +Intermediate | 1 | Intermediate conformance level |
Advanced | +Advanced | 2 | Advanced conformance level |
Snapshot | +Snapshot | 1 | All data returned for a request, including multiple requests within a batch or results retrieved across multiple pages, will be consistent as of a single point in time |
A non-empty collection lists the full set of supported protocols. A empty collection means ‘only HTTP is supported’
CallbackProtocols | -[CallbackProtocol] | +CallbackProtocols | +[CallbackProtocol] | List of supported callback protocols, e.g. http or wss |
Id | +Id | String? | Protocol Identifier |
UrlTemplate | +UrlTemplate | String? | URL Template including parameters. Parameters are enclosed in curly braces {} as defined in RFC6570 |
DocumentationUrl | +DocumentationUrl | URL? | Human readable description of the meaning of the URL Template parameters |
Derived Types:
Supported | +Supported | Boolean | odata.track-changes preference is supported |
Supported | +Supported | Boolean | odata.track-changes preference is supported |
FilterableProperties | +FilterableProperties | [PropertyPath] | Change tracking supports filters on these properties If no properties are specified or FilterableProperties is omitted, clients cannot assume support for filtering on any properties in combination with change tracking. |
ExpandableProperties | +ExpandableProperties | [NavigationPropertyPath] | Change tracking supports these properties expanded If no properties are specified or ExpandableProperties is omitted, clients cannot assume support for expanding any properties in combination with change tracking. |
Derived Types:
Countable | +Countable | Boolean | Instances can be counted in requests targeting a collection |
Countable | +Countable | Boolean | Instances can be counted in requests targeting a collection |
NonCountableProperties | +NonCountableProperties | [PropertyPath] | Members of these collection properties cannot be counted |
NonCountableNavigationProperties | +NonCountableNavigationProperties | [NavigationPropertyPath] | Members of these navigation properties cannot be counted |
Navigability | -NavigationType? | +Navigability | +NavigationType? | Default navigability for all navigation properties of the annotation target. Individual navigation properties can override this value via RestrictedProperties/Navigability . |
RestrictedProperties | -[NavigationPropertyRestriction] | +RestrictedProperties | +[NavigationPropertyRestriction] | List of navigation properties with restrictions |
Using a property of NavigationPropertyRestriction
in a NavigationRestrictions
annotation is discouraged in favor of using an annotation with the corresponding term from this vocabulary and a target path starting with a container and ending in the NavigationProperty
, unless the favored alternative is impossible because a dynamic expression requires an instance path whose evaluation starts at the target of the NavigationRestrictions
annotation. See this example.
Using a property of NavigationPropertyRestriction
in a NavigationRestrictions
annotation is discouraged in favor of using an annotation with the corresponding term from this vocabulary and a target path starting with a container and ending in the NavigationProperty
, unless the favored alternative is impossible because a dynamic expression requires an instance path whose evaluation starts at the target of the NavigationRestrictions
annotation. See this example.
NavigationProperty | +NavigationProperty | NavigationPropertyPath | -Navigation properties can be navigated The target path of a NavigationRestrictions annotation followed by this navigation property path addresses the resource to which the other properties of NavigationPropertyRestriction apply. Instance paths that occur in dynamic expressions are evaluated starting at the boundary between both paths, which must therefore be chosen accordingly. |
+Navigation properties can be navigated The target path of a NavigationRestrictions annotation followed by this navigation property path addresses the resource to which the other properties of NavigationPropertyRestriction apply. Instance paths that occur in dynamic expressions are evaluated starting at the boundary between both paths, which must therefore be chosen accordingly. |
Navigability | -NavigationType? | +Navigability | +NavigationType? | Supported navigability of this navigation property |
FilterFunctions | +FilterFunctions | [String] | List of functions and operators supported in filter expressions If not specified, null, or empty, all functions and operators may be attempted. |
|
FilterRestrictions | -FilterRestrictionsType? | +FilterRestrictions | +FilterRestrictionsType? | Restrictions on filter expressions |
SearchRestrictions | -SearchRestrictionsType? | +SearchRestrictions | +SearchRestrictionsType? | Restrictions on search expressions |
SortRestrictions | -SortRestrictionsType? | +SortRestrictions | +SortRestrictionsType? | Restrictions on orderby expressions |
TopSupported | +TopSupported | Boolean | Supports $top | |
SkipSupported | +SkipSupported | Boolean | Supports $skip | |
SelectSupport | -SelectSupportType? | +SelectSupport | +SelectSupportType? | Support for $select |
IndexableByKey | +IndexableByKey | Boolean | Supports key values according to OData URL conventions | |
InsertRestrictions | -InsertRestrictionsType? | +InsertRestrictions | +InsertRestrictionsType? | Restrictions on insert operations |
DeepInsertSupport | -DeepInsertSupportType? | +DeepInsertSupport | +DeepInsertSupportType? | Deep Insert Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) |
UpdateRestrictions | -UpdateRestrictionsType? | +UpdateRestrictions | +UpdateRestrictionsType? | Restrictions on update operations |
DeepUpdateSupport | -DeepUpdateSupportType? | +DeepUpdateSupport | +DeepUpdateSupportType? | Deep Update Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) |
DeleteRestrictions | -DeleteRestrictionsType? | +DeleteRestrictions | +DeleteRestrictionsType? | Restrictions on delete operations |
OptimisticConcurrencyControl | +OptimisticConcurrencyControl | Boolean | Data modification (including insert) along this navigation property requires the use of ETags | |
ReadRestrictions | -ReadRestrictionsType? | +ReadRestrictions | +ReadRestrictionsType? | Restrictions for retrieving entities |
Recursive | +Recursive | 0 | Navigation properties can be recursively navigated |
Single | +Single | 1 | Navigation properties can be navigated to a single level |
None | +None | 2 | Navigation properties are not navigable |
Supported | +Supported | Boolean | Supports $select |
InstanceAnnotationsSupported | +InstanceAnnotationsSupported | Boolean | Supports instance annotations in $select list |
Expandable | +Expandable | Boolean | $expand within $select is supported |
Filterable | +Filterable | Boolean | $filter within $select is supported |
Searchable | +Searchable | Boolean | $search within $select is supported |
TopSupported | +TopSupported | Boolean | $top within $select is supported |
SkipSupported | +SkipSupported | Boolean | $skip within $select is supported |
ComputeSupported | +ComputeSupported | Boolean | $compute within $select is supported |
Countable | +Countable | Boolean | $count within $select is supported |
Sortable | +Sortable | Boolean | $orderby within $select is supported |
Supported | +Supported | Boolean | Service supports requests to $batch | |
ContinueOnErrorSupported | +ContinueOnErrorSupported | Boolean | Service supports the continue on error preference | |
ReferencesInRequestBodiesSupported | +ReferencesInRequestBodiesSupported | Boolean | Service supports Content-ID referencing in request bodies | |
ReferencesAcrossChangeSetsSupported | +ReferencesAcrossChangeSetsSupported | Boolean | Service supports Content-ID referencing across change sets | |
EtagReferencesSupported | +EtagReferencesSupported | Boolean | Service supports referencing Etags from previous requests | |
RequestDependencyConditionsSupported | +RequestDependencyConditionsSupported | Boolean | Service supports the if member in JSON batch requests |
|
SupportedFormats | +SupportedFormats | [MediaType] | -Media types of supported formats for $batch | +Media types of supported formats for $batch |
Applicable Annotation Terms:
- -Derived Types:
Filterable | +Filterable | Boolean | $filter is supported | ||
RequiresFilter | +RequiresFilter | Boolean | $filter is required | ||
MaxLevels | +MaxLevels | Int32 | The maximum number of levels (including recursion) that can be traversed in a filter expression. A value of -1 indicates there is no restriction. |
Filterable | +Filterable | Boolean | $filter is supported | |
RequiresFilter | +RequiresFilter | Boolean | $filter is required | |
MaxLevels | +MaxLevels | Int32 | The maximum number of levels (including recursion) that can be traversed in a filter expression. A value of -1 indicates there is no restriction. | |
RequiredProperties | +RequiredProperties | [PropertyPath] | These properties must be specified in the $filter clause (properties of derived types are not allowed here) | |
NonFilterableProperties | +NonFilterableProperties | [PropertyPath] | These structural properties cannot be used in filter expressions | |
FilterExpressionRestrictions | -[FilterExpressionRestrictionType] | +FilterExpressionRestrictions | +[FilterExpressionRestrictionType] | These properties only allow a subset of filter expressions. A valid filter expression for a single property can be enclosed in parentheses and combined by and with valid expressions for other properties. |
Applicable Annotation Terms:
- -Property | +Property | PropertyPath? | Path to the restricted property | |
AllowedExpressions | -FilterExpressionType? | +AllowedExpressions | +FilterExpressionType? | Allowed subset of expressions |
Type: String
SingleValue | +SingleValue | Property can be used in a single eq clause |
MultiValue | +MultiValue | Property can be used in multiple eq and in clauses, combined by or (which is logically equivalent to a single in clause) |
SingleRange | +SingleRange | Property can be used in at most one ge and/or one le clause, separated by and |
MultiRange | +MultiRange | Property can be compared to a union of one or more closed, half-open, or open intervals The filter expression for this property consists of one or more interval expressions combined by or . A single interval expression is either a single comparison of the property and a literal value with eq , le , lt , ge , or gt , or pair of boundaries combined by and and enclosed in parentheses. The lower boundary is either ge or gt , the upper boundary either le or lt . |
SearchExpression | +SearchExpression | String property can be used as first operand in startswith , endswith , and contains clauses |
MultiRangeOrSearchExpression | +MultiRangeOrSearchExpression | Property can be compared to a union of zero or more closed, half-open, or open intervals plus zero or more simple string patterns The filter expression for this property consists of one or more interval expressions or string comparison functions combined by or . See MultiRange for a definition of an interval expression. See SearchExpression for the allowed string comparison functions. |
Derived Types:
Sortable | +Sortable | Boolean | $orderby is supported | @@ -1807,10 +1807,10 @@
Sortable | +Sortable | Boolean | $orderby is supported | ||
AscendingOnlyProperties | +AscendingOnlyProperties | [PropertyPath] | These properties can only be used for sorting in Ascending order | ||
DescendingOnlyProperties | +DescendingOnlyProperties | [PropertyPath] | These properties can only be used for sorting in Descending order | ||
NonSortableProperties | +NonSortableProperties | [PropertyPath] | These structural properties cannot be used in orderby expressions |
Expandable | +Expandable | Boolean | $expand is supported | ||
StreamsExpandable | +StreamsExpandable | Boolean | $expand is supported for stream properties and media streams | ||
MaxLevels | +MaxLevels | Int32 | The maximum number of levels that can be expanded in a expand expression. A value of -1 indicates there is no restriction. |
Expandable | +Expandable | Boolean | $expand is supported | ||
StreamsExpandable | +StreamsExpandable | Boolean | $expand is supported for stream properties and media streams | ||
MaxLevels | +MaxLevels | Int32 | The maximum number of levels that can be expanded in a expand expression. A value of -1 indicates there is no restriction. | ||
NonExpandableProperties | +NonExpandableProperties | [NavigationPropertyPath] | These properties cannot be used in expand expressions | ||
NonExpandableStreamProperties | +NonExpandableStreamProperties | [PropertyPath] | These stream properties cannot be used in expand expressions |
Searchable | +Searchable | Boolean | $search is supported | |
UnsupportedExpressions | -SearchExpressions | +UnsupportedExpressions | +SearchExpressions | Expressions not supported in $search |
Applicable Annotation Terms:
- -none | +none | 0 | Single search term |
AND | +AND | 1 | Multiple search terms, optionally separated by AND |
OR | +OR | 2 | Multiple search terms separated by OR |
NOT | +NOT | 4 | Search terms preceded by NOT |
phrase | +phrase | 8 | Search phrases enclosed in double quotes |
group | +group | 16 | Precedence grouping of search expressions with parentheses |
Derived Types:
Insertable | +Insertable | Boolean | Entities can be inserted | |
MaxLevels | +MaxLevels | Int32 | The maximum number of navigation properties that can be traversed when addressing the collection to insert into. A value of -1 indicates there is no restriction. | |
TypecastSegmentSupported | +TypecastSegmentSupported | Boolean | Entities of a specific derived type can be created by specifying a type-cast segment | |
QueryOptions | -ModificationQueryOptionsType? | +QueryOptions | +ModificationQueryOptionsType? | Support for query options with insert requests |
CustomHeaders | -[CustomParameter] | +CustomHeaders | +[CustomParameter] | Supported or required custom headers |
CustomQueryOptions | -[CustomParameter] | +CustomQueryOptions | +[CustomParameter] | Supported or required custom query options |
Description | +Description | String? | A brief description of the request | |
LongDescription | +LongDescription | String? | A long description of the request | |
ErrorResponses | -[HttpResponse] | +ErrorResponses | +[HttpResponse] | Possible error responses returned by the request. |
Insertable | +Insertable | Boolean | Entities can be inserted | |
MaxLevels | +MaxLevels | Int32 | The maximum number of navigation properties that can be traversed when addressing the collection to insert into. A value of -1 indicates there is no restriction. | |
TypecastSegmentSupported | +TypecastSegmentSupported | Boolean | Entities of a specific derived type can be created by specifying a type-cast segment | |
QueryOptions | -ModificationQueryOptionsType? | +QueryOptions | +ModificationQueryOptionsType? | Support for query options with insert requests |
CustomHeaders | -[CustomParameter] | +CustomHeaders | +[CustomParameter] | Supported or required custom headers |
CustomQueryOptions | -[CustomParameter] | +CustomQueryOptions | +[CustomParameter] | Supported or required custom query options |
Description | +Description | String? | A brief description of the request | |
LongDescription | +LongDescription | String? | A long description of the request | |
ErrorResponses | -[HttpResponse] | +ErrorResponses | +[HttpResponse] | Possible error responses returned by the request. |
NonInsertableProperties | +NonInsertableProperties | [PropertyPath] | These structural properties cannot be specified on insert | |
NonInsertableNavigationProperties | +NonInsertableNavigationProperties | [NavigationPropertyPath] | These navigation properties do not allow deep inserts | |
RequiredProperties | +RequiredProperties | [PropertyPath] | These structural properties must be specified on insert | |
Permissions | -[PermissionType?] | +Permissions | +[PermissionType?] | Required permissions. One of the specified sets of scopes is required to perform the insert. |
SchemeName | -SchemeName | +SchemeName | +SchemeName | Authorization flow scheme name |
Scopes | -[ScopeType] | +Scopes | +[ScopeType] | List of scopes that can provide access to the resource |
Scope | +Scope | String | Name of the scope. |
RestrictedProperties | +RestrictedProperties | String? | Comma-separated string value of all properties that will be included or excluded when using the scope. Possible string value identifiers when specifying properties are * , PropertyName, - PropertyName.* denotes all properties are accessible.- PropertyName excludes that specific property.PropertyName explicitly provides access to the specific property. The absence of RestrictedProperties denotes all properties are accessible using that scope. |
Supported | +Supported | Boolean | Annotation target supports deep inserts |
ContentIDSupported | +ContentIDSupported | Boolean | Annotation target supports accepting and returning nested entities annotated with the Core.ContentID instance annotation. |
Derived Types:
Updatable | +Updatable | Boolean | Entities can be updated | |
Upsertable | +Upsertable | Boolean | Entities can be upserted | |
DeltaUpdateSupported | +DeltaUpdateSupported | Boolean | Entities can be inserted, updated, and deleted via a PATCH request with a delta payload | |
UpdateMethod | -HttpMethod? | +UpdateMethod | +HttpMethod? | Supported HTTP Methods (PUT or PATCH) for updating an entity. If null, PATCH SHOULD be supported and PUT MAY be supported. |
FilterSegmentSupported | +FilterSegmentSupported | Boolean | Members of collections can be updated via a PATCH request with a /$filter(...)/$each segment |
|
TypecastSegmentSupported | +TypecastSegmentSupported | Boolean | Members of collections can be updated via a PATCH request with a type-cast segment and a /$each segment |
|
MaxLevels | +MaxLevels | Int32 | The maximum number of navigation properties that can be traversed when addressing the collection or entity to update. A value of -1 indicates there is no restriction. | |
Permissions | -[PermissionType?] | +Permissions | +[PermissionType?] | Required permissions. One of the specified sets of scopes is required to perform the update. |
QueryOptions | -ModificationQueryOptionsType? | +QueryOptions | +ModificationQueryOptionsType? | Support for query options with update requests |
CustomHeaders | -[CustomParameter] | +CustomHeaders | +[CustomParameter] | Supported or required custom headers |
CustomQueryOptions | -[CustomParameter] | +CustomQueryOptions | +[CustomParameter] | Supported or required custom query options |
Description | +Description | String? | A brief description of the request | |
LongDescription | +LongDescription | String? | A long description of the request | |
ErrorResponses | -[HttpResponse] | +ErrorResponses | +[HttpResponse] | Possible error responses returned by the request. |
Updatable | +Updatable | Boolean | Entities can be updated | |
Upsertable | +Upsertable | Boolean | Entities can be upserted | |
DeltaUpdateSupported | +DeltaUpdateSupported | Boolean | Entities can be inserted, updated, and deleted via a PATCH request with a delta payload | |
UpdateMethod | -HttpMethod? | +UpdateMethod | +HttpMethod? | Supported HTTP Methods (PUT or PATCH) for updating an entity. If null, PATCH SHOULD be supported and PUT MAY be supported. |
FilterSegmentSupported | +FilterSegmentSupported | Boolean | Members of collections can be updated via a PATCH request with a /$filter(...)/$each segment |
|
TypecastSegmentSupported | +TypecastSegmentSupported | Boolean | Members of collections can be updated via a PATCH request with a type-cast segment and a /$each segment |
|
MaxLevels | +MaxLevels | Int32 | The maximum number of navigation properties that can be traversed when addressing the collection or entity to update. A value of -1 indicates there is no restriction. | |
Permissions | -[PermissionType?] | +Permissions | +[PermissionType?] | Required permissions. One of the specified sets of scopes is required to perform the update. |
QueryOptions | -ModificationQueryOptionsType? | +QueryOptions | +ModificationQueryOptionsType? | Support for query options with update requests |
CustomHeaders | -[CustomParameter] | +CustomHeaders | +[CustomParameter] | Supported or required custom headers |
CustomQueryOptions | -[CustomParameter] | +CustomQueryOptions | +[CustomParameter] | Supported or required custom query options |
Description | +Description | String? | A brief description of the request | |
LongDescription | +LongDescription | String? | A long description of the request | |
ErrorResponses | -[HttpResponse] | +ErrorResponses | +[HttpResponse] | Possible error responses returned by the request. |
NonUpdatableProperties | +NonUpdatableProperties | [PropertyPath] | These structural properties cannot be specified on update | |
NonUpdatableNavigationProperties | +NonUpdatableNavigationProperties | [NavigationPropertyPath] | These navigation properties do not allow rebinding | |
RequiredProperties | +RequiredProperties | [PropertyPath] | These structural properties must be specified on update |
GET | +GET | 1 | The HTTP GET Method |
PATCH | +PATCH | 2 | The HTTP PATCH Method |
PUT | +PUT | 4 | The HTTP PUT Method |
POST | +POST | 8 | The HTTP POST Method |
DELETE | +DELETE | 16 | The HTTP DELETE Method |
OPTIONS | +OPTIONS | 32 | The HTTP OPTIONS Method |
HEAD | +HEAD | 64 | The HTTP HEAD Method |
Supported | +Supported | Boolean | Annotation target supports deep updates |
ContentIDSupported | +ContentIDSupported | Boolean | Annotation target supports accepting and returning nested entities annotated with the Core.ContentID instance annotation. |
Derived Types:
Deletable | +Deletable | Boolean | Entities can be deleted | |
MaxLevels | +MaxLevels | Int32 | The maximum number of navigation properties that can be traversed when addressing the collection to delete from or the entity to delete. A value of -1 indicates there is no restriction. | |
FilterSegmentSupported | +FilterSegmentSupported | Boolean | Members of collections can be deleted via a DELETE request with a /$filter(...)/$each segment |
|
TypecastSegmentSupported | +TypecastSegmentSupported | Boolean | Members of collections can be deleted via a DELETE request with a type-cast segment and a /$each segment |
|
Permissions | -[PermissionType?] | +Permissions | +[PermissionType?] | Required permissions. One of the specified sets of scopes is required to perform the delete. |
CustomHeaders | -[CustomParameter] | +CustomHeaders | +[CustomParameter] | Supported or required custom headers |
CustomQueryOptions | -[CustomParameter] | +CustomQueryOptions | +[CustomParameter] | Supported or required custom query options |
Description | +Description | String? | A brief description of the request | |
LongDescription | +LongDescription | String? | A long description of the request | |
ErrorResponses | -[HttpResponse] | +ErrorResponses | +[HttpResponse] | Possible error responses returned by the request. |
Deletable | +Deletable | Boolean | Entities can be deleted | |
MaxLevels | +MaxLevels | Int32 | The maximum number of navigation properties that can be traversed when addressing the collection to delete from or the entity to delete. A value of -1 indicates there is no restriction. | |
FilterSegmentSupported | +FilterSegmentSupported | Boolean | Members of collections can be deleted via a DELETE request with a /$filter(...)/$each segment |
|
TypecastSegmentSupported | +TypecastSegmentSupported | Boolean | Members of collections can be deleted via a DELETE request with a type-cast segment and a /$each segment |
|
Permissions | -[PermissionType?] | +Permissions | +[PermissionType?] | Required permissions. One of the specified sets of scopes is required to perform the delete. |
CustomHeaders | -[CustomParameter] | +CustomHeaders | +[CustomParameter] | Supported or required custom headers |
CustomQueryOptions | -[CustomParameter] | +CustomQueryOptions | +[CustomParameter] | Supported or required custom query options |
Description | +Description | String? | A brief description of the request | |
LongDescription | +LongDescription | String? | A long description of the request | |
ErrorResponses | -[HttpResponse] | +ErrorResponses | +[HttpResponse] | Possible error responses returned by the request. |
NonDeletableNavigationProperties | +NonDeletableNavigationProperties | [NavigationPropertyPath] | These navigation properties do not allow DeleteLink requests |
CollectionProperty | +CollectionProperty | PropertyPath? | Restricted Collection-valued property | |
FilterFunctions | +FilterFunctions | [String] | List of functions and operators supported in filter expressions If not specified, null, or empty, all functions and operators may be attempted. |
|
FilterRestrictions | -FilterRestrictionsType? | +FilterRestrictions | +FilterRestrictionsType? | Restrictions on filter expressions |
SearchRestrictions | -SearchRestrictionsType? | +SearchRestrictions | +SearchRestrictionsType? | Restrictions on search expressions |
SortRestrictions | -SortRestrictionsType? | +SortRestrictions | +SortRestrictionsType? | Restrictions on orderby expressions |
TopSupported | +TopSupported | Boolean | Supports $top | |
SkipSupported | +SkipSupported | Boolean | Supports $skip | |
SelectSupport | -SelectSupportType? | +SelectSupport | +SelectSupportType? | Support for $select |
Insertable | +Insertable | Boolean | -Members can be inserted into this collection If additionally annotated with Core.PositionalInsert, members can be inserted at a specific position |
+Members can be inserted into this collection If additionally annotated with Core.PositionalInsert, members can be inserted at a specific position |
Updatable | +Updatable | Boolean | Members of this ordered collection can be updated by ordinal | |
Deletable | +Deletable | Boolean | Members of this ordered collection can be deleted by ordinal |
FilterSegmentSupported | +FilterSegmentSupported | Boolean | Bound action or function can be invoked on a collection-valued binding parameter path with a /$filter(...) segment |
|
Permissions | -[PermissionType?] | +Permissions | +[PermissionType?] | Required permissions. One of the specified sets of scopes is required to invoke an action or function |
CustomHeaders | -[CustomParameter] | +CustomHeaders | +[CustomParameter] | Supported or required custom headers |
CustomQueryOptions | -[CustomParameter] | +CustomQueryOptions | +[CustomParameter] | Supported or required custom query options |
ErrorResponses | -[HttpResponse] | +ErrorResponses | +[HttpResponse] | Possible error responses returned by the request. |
ExpandSupported | +ExpandSupported | Boolean | Supports $expand with modification requests |
SelectSupported | +SelectSupported | Boolean | Supports $select with modification requests |
ComputeSupported | +ComputeSupported | Boolean | Supports $compute with modification requests |
FilterSupported | +FilterSupported | Boolean | Supports $filter with modification requests |
SearchSupported | +SearchSupported | Boolean | Supports $search with modification requests |
SortSupported | +SortSupported | Boolean | Supports $orderby with modification requests |
Derived Types:
Readable | +Readable | Boolean | Entities can be retrieved | |
Permissions | -[PermissionType?] | +Permissions | +[PermissionType?] | Required permissions. One of the specified sets of scopes is required to read. |
CustomHeaders | -[CustomParameter] | +CustomHeaders | +[CustomParameter] | Supported or required custom headers |
CustomQueryOptions | -[CustomParameter] | +CustomQueryOptions | +[CustomParameter] | Supported or required custom query options |
Description | +Description | String? | A brief description of the request | |
LongDescription | +LongDescription | String? | A long description of the request | |
ErrorResponses | -[HttpResponse] | +ErrorResponses | +[HttpResponse] | Possible error responses returned by the request. |
Restrictions for retrieving an entity by key
Readable | +Readable | Boolean | Entities can be retrieved | |
Permissions | -[PermissionType?] | +Permissions | +[PermissionType?] | Required permissions. One of the specified sets of scopes is required to read. |
CustomHeaders | -[CustomParameter] | +CustomHeaders | +[CustomParameter] | Supported or required custom headers |
CustomQueryOptions | -[CustomParameter] | +CustomQueryOptions | +[CustomParameter] | Supported or required custom query options |
Description | +Description | String? | A brief description of the request | |
LongDescription | +LongDescription | String? | A long description of the request | |
ErrorResponses | -[HttpResponse] | +ErrorResponses | +[HttpResponse] | Possible error responses returned by the request. |
Readable | +Readable | Boolean | Entities can be retrieved | |
Permissions | -[PermissionType?] | +Permissions | +[PermissionType?] | Required permissions. One of the specified sets of scopes is required to read. |
CustomHeaders | -[CustomParameter] | +CustomHeaders | +[CustomParameter] | Supported or required custom headers |
CustomQueryOptions | -[CustomParameter] | +CustomQueryOptions | +[CustomParameter] | Supported or required custom query options |
Description | +Description | String? | A brief description of the request | |
LongDescription | +LongDescription | String? | A long description of the request | |
ErrorResponses | -[HttpResponse] | +ErrorResponses | +[HttpResponse] | Possible error responses returned by the request. |
TypecastSegmentSupported | +TypecastSegmentSupported | Boolean | Entities of a specific derived type can be read by specifying a type-cast segment | |
ReadByKeyRestrictions | -ReadByKeyRestrictionsType? | +ReadByKeyRestrictions | +ReadByKeyRestrictionsType? | Restrictions for retrieving an entity by key Only valid when applied to a collection. If a property of ReadByKeyRestrictions is not specified, the corresponding property value of ReadRestrictions applies. |
A custom parameter is either a header or a query option
The type of a custom parameter is always a string. Restrictions on the parameter values can be expressed by annotating the record expression describing the parameter with terms from the Validation vocabulary, e.g. Validation.Pattern or Validation.AllowedValues.
Name | +Name | String | Name of the custom parameter | |
Description | +Description | String? | Description of the custom parameter | |
DocumentationURL | +DocumentationURL | URL? | URL of related documentation | |
Required | +Required | Boolean | true: parameter is required, false or not specified: parameter is optional | |
ExampleValues | -[PrimitiveExampleValue] | +ExampleValues | +[PrimitiveExampleValue] | Example values for the custom parameter |
StatusCode | +StatusCode | String | HTTP response status code, for example 400, 403, 501 | ||
Description | +Description | String | Human-readable description of the response |
ISOCurrency | +ISOCurrency | String | -The currency for this monetary amount as an ISO 4217 currency code | +The currency for this monetary amount as an ISO 4217 currency code | |
Scale | +Scale | Byte | -The number of significant decimal places in the scale part (less than or equal to the number declared in the Scale facet) | +The number of significant decimal places in the scale part (less than or equal to the number declared in the Scale facet) | |
Unit | +Unit | String | -The unit of measure for this measured quantity, e.g. cm for centimeters or % for percentages | +The unit of measure for this measured quantity, e.g. cm for centimeters or % for percentages | |
UNECEUnit | +UNECEUnit | String | -The unit of measure for this measured quantity, according to the UN/CEFACT Recommendation 20 | +The unit of measure for this measured quantity, according to the UN/CEFACT Recommendation 20 | |
DurationGranularity | -DurationGranularityType | -The minimum granularity of duration values. Absence of this annotation means a granularity of seconds with sub-seconds according to the Precision facet. |
+DurationGranularity | +DurationGranularityType | +The minimum granularity of duration values. Absence of this annotation means a granularity of seconds with sub-seconds according to the Precision facet. |
Type: String
days | +days | Duration in days, e.g. P1D |
hours | +hours | Duration in days and hours, e.g. P1DT23H |
minutes | +minutes | Duration in days, hours, and minutes, e.g. P1DT23H59M |
Namespace: Org.OData.Validation.V1
+Namespace: Org.OData.Validation.V1
Terms describing validation rules
Pattern | +Pattern | String | -The pattern that a string property, parameter, or term must match. This SHOULD be a valid regular expression, according to the ECMA 262 regular expression dialect. | +The pattern that a string property, parameter, or term must match. This SHOULD be a valid regular expression, according to the ECMA 262 regular expression dialect. | |
Minimum | +Minimum | PrimitiveType | -Minimum value that a property, parameter, or term can have. Can be annotated with: |
+Minimum value that a property, parameter, or term can have. Can be annotated with: |
|
Maximum | +Maximum | PrimitiveType | -Maximum value that a property, parameter, or term can have. Can be annotated with: |
+Maximum value that a property, parameter, or term can have. Can be annotated with: |
|
Exclusive | -Tag | -Tags a Minimum or Maximum as exclusive, i.e. an open interval boundary. | +Exclusive | +Tag | +Tags a Minimum or Maximum as exclusive, i.e. an open interval boundary. |
AllowedValues | -[AllowedValue] | -A collection of valid values for the annotated property, parameter, or type definition | +AllowedValues | +[AllowedValue] | +A collection of valid values for the annotated property, parameter, or type definition |
MultipleOf | +MultipleOf | Decimal | -The value of the annotated property, parameter, or term must be an integer multiple of this positive value. For temporal types, the value is measured in seconds. | +The value of the annotated property, parameter, or term must be an integer multiple of this positive value. For temporal types, the value is measured in seconds. | |
Constraint | -ConstraintType | -Condition that the annotation target has to fulfill | +Constraint | +ConstraintType | +Condition that the annotation target has to fulfill |
ItemsOf | -[ItemsOfType] | -A list of constraints describing that entities related via one navigation property MUST also be related via another, collection-valued navigation property. The same path value MUST NOT occur more than once.Example: entity type Customer has navigation properties AllOrders , OpenOrders , and ClosedOrders . The term allows to express that items of OpenOrders and ClosedOrders are also items of the AllOrders navigation property, even though they are defined in an Orders entity set. |
+ItemsOf | +[ItemsOfType] | +A list of constraints describing that entities related via one navigation property MUST also be related via another, collection-valued navigation property. The same path value MUST NOT occur more than once.Example: entity type Customer has navigation properties AllOrders , OpenOrders , and ClosedOrders . The term allows to express that items of OpenOrders and ClosedOrders are also items of the AllOrders navigation property, even though they are defined in an Orders entity set. |
OpenPropertyTypeConstraint | -[SingleOrCollectionType] | -Dynamic properties added to the annotated open structured type are restricted to the listed types. | +OpenPropertyTypeConstraint | +[SingleOrCollectionType] | +Dynamic properties added to the annotated open structured type are restricted to the listed types. |
DerivedTypeConstraint | -[SingleOrCollectionType] | -Values are restricted to types that are both identical to or derived from the declared type and a type listed in this collection. This allows restricting values to certain sub-trees of an inheritance hierarchy, including hierarchies starting at the Built-In Abstract Types. Types listed in this collection are ignored if they are not derived from the declared type of the annotated model element or would not be allowed as declared type of the annotated model element. When applied to a collection-valued element, this annotation specifies the types allowed for members of the collection without mentioning the Collection() wrapper. The SingleOrCollectionType may only include the Collection() wrapper if the annotation is applied to an element with declared type Edm.Untyped . |
+DerivedTypeConstraint | +[SingleOrCollectionType] | +Values are restricted to types that are both identical to or derived from the declared type and a type listed in this collection. This allows restricting values to certain sub-trees of an inheritance hierarchy, including hierarchies starting at the Built-In Abstract Types. Types listed in this collection are ignored if they are not derived from the declared type of the annotated model element or would not be allowed as declared type of the annotated model element. When applied to a collection-valued element, this annotation specifies the types allowed for members of the collection without mentioning the Collection() wrapper. The SingleOrCollectionType may only include the Collection() wrapper if the annotation is applied to an element with declared type Edm.Untyped . |
AllowedTerms | -[QualifiedTermName] | -Annotate a term of type Edm.AnnotationPath, or a property of type Edm.AnnotationPath that is used within a structured term, to restrict the terms that can be targeted by the path. The annotation path expression is intended to end in a path segment with one of the listed terms. For forward compatibility, clients should be prepared for the annotation to reference terms besides those listed. |
+AllowedTerms | +[QualifiedTermName] | +Annotate a term of type Edm.AnnotationPath, or a property of type Edm.AnnotationPath that is used within a structured term, to restrict the terms that can be targeted by the path. The annotation path expression is intended to end in a path segment with one of the listed terms. For forward compatibility, clients should be prepared for the annotation to reference terms besides those listed. |
ApplicableTerms | -[QualifiedTermName] | -Names of specific terms that are applicable and may be applied in the current context. This annotation does not restrict the use of other terms. | +ApplicableTerms | +[QualifiedTermName] | +Names of specific terms that are applicable and may be applied in the current context. This annotation does not restrict the use of other terms. |
MaxItems | +MaxItems | Int64 | -The annotated collection must have at most the specified number of items. | +The annotated collection must have at most the specified number of items. | |
MinItems | +MinItems | Int64 | -The annotated collection must have at least the specified number of items. | +The annotated collection must have at least the specified number of items. |
Value | +Value | PrimitiveType? | An allowed value for the property, parameter, or type definition |
FailureMessage | +FailureMessage | String? | Human-readable message that can be shown to end users if the constraint is not fulfilled |
Condition | +Condition | Boolean | Value MUST be a dynamic expression that evaluates to true if and only if the constraint is fulfilled |
Entities related via the single- or collection-valued navigation property identified by path
are also related via the collection-valued navigation property identified by target
.
path | +path | NavigationPropertyPath | A path to a single- or collection-valued navigation property |
target | +target | NavigationPropertyPath | A path to a collection-valued navigation property |
Type: String
The qualified name of a type in scope, optionally wrapped in Collection()
to denote a collection of instances of the type
Namespace: Org.OData.Aggregation.V1
+Namespace: Org.OData.Aggregation.V1
Terms to describe which data in a given entity model can be aggregated, and how.
Related to the specification document OData-Data-Agg-v4.0.
$apply
system query option$apply
system query option$apply
system query option for all collection-valued resources in the containerAnnotating term ApplySupported
for a specific collection-valued resource overrides the default support with the specified properties using PATCH semantics:
ApplySupported
replace the corresponding properties specified in ApplySupportedDefaults
ApplySupported
override the corresponding properties specified in ApplySupportedDefaults
using PATCH semantics recursivelyApplySupported
nor in ApplySupportedDefaults
have their default value$apply
system query option for all collection-valued resources in the containerAnnotating term ApplySupported
for a specific collection-valued resource overrides the default support with the specified properties using PATCH semantics:
ApplySupported
replace the corresponding properties specified in ApplySupportedDefaults
ApplySupported
override the corresponding properties specified in ApplySupportedDefaults
using PATCH semantics recursivelyApplySupported
nor in ApplySupportedDefaults
have their default valueApplySupported/GroupableProperties
ApplySupported/GroupableProperties
ApplySupported/AggregatableProperties
ApplySupported/AggregatableProperties
aggregate
transformationaggregate
transformationtraverse
transformation (OData-Data-Agg-v4.0, section 6.2.2.2). A use case for this is traversal with multiple parents, when this annotation takes as value one parent node identifier followed by one grandparent node identifier and so on.traverse
transformation (OData-Data-Agg-v4.0, section 6.2.2.2). A use case for this is traversal with multiple parents, when this annotation takes as value one parent node identifier followed by one grandparent node identifier and so on.RequiredProperties
are still definedRequiredProperties
are still definedIs the entity a node of the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
)? (See OData-Data-Agg-v4.0, section 5.5.2.1)
Is the entity a node of the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
)? (See OData-Data-Agg-v4.0, section 5.5.2.1)
If a node identifier passed to the function is null, the function returns null.
HierarchyNodes | +HierarchyNodes | [EntityType] | A collection, given through a $root expression |
|
HierarchyQualifier | -HierarchyQualifier | +HierarchyQualifier | +HierarchyQualifier | |
Node | +Node | PrimitiveType? | Node identifier of the putative node | |
→ | +→ | Boolean? |
Is the entity a root node of the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
)?
Is the entity a root node of the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
)?
If a node identifier passed to the function is null, the function returns null.
HierarchyNodes | +HierarchyNodes | [EntityType] | A collection, given through a $root expression |
|
HierarchyQualifier | -HierarchyQualifier | +HierarchyQualifier | +HierarchyQualifier | |
Node | +Node | PrimitiveType? | Node identifier of the putative root | |
→ | +→ | Boolean? |
Is the entity a descendant node of the ancestor node in the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
) with at most the specified distance? (See OData-Data-Agg-v4.0, section 5.5.2.1)
Is the entity a descendant node of the ancestor node in the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
) with at most the specified distance? (See OData-Data-Agg-v4.0, section 5.5.2.1)
If a node identifier passed to the function is null, the function returns null.
HierarchyNodes | +HierarchyNodes | [EntityType] | A collection, given through a $root expression |
|
HierarchyQualifier | -HierarchyQualifier | +HierarchyQualifier | +HierarchyQualifier | |
Node | +Node | PrimitiveType? | Node identifier of the putative descendant | |
Ancestor | +Ancestor | PrimitiveType? | Node identifier of the ancestor node | |
MaxDistance | +MaxDistance | Int16 | Optional parameter | |
IncludeSelf | +IncludeSelf | Boolean | Optional parameter: Whether to include the node itself in the result | |
→ | +→ | Boolean? |
Is the entity an ancestor node of the descendant node in the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
) with at most the specified distance? (See OData-Data-Agg-v4.0, section 5.5.2.1)
Is the entity an ancestor node of the descendant node in the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
) with at most the specified distance? (See OData-Data-Agg-v4.0, section 5.5.2.1)
If a node identifier passed to the function is null, the function returns null.
HierarchyNodes | +HierarchyNodes | [EntityType] | A collection, given through a $root expression |
|
HierarchyQualifier | -HierarchyQualifier | +HierarchyQualifier | +HierarchyQualifier | |
Node | +Node | PrimitiveType? | Node identifier of the putative ancestor | |
Descendant | +Descendant | PrimitiveType? | Node identifier of the descendant node | |
MaxDistance | +MaxDistance | Int16 | Optional parameter | |
IncludeSelf | +IncludeSelf | Boolean | Optional parameter: Whether to include the node itself in the result | |
→ | +→ | Boolean? |
Is the entity a sibling node of the other node in the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
)? (See OData-Data-Agg-v4.0, section 5.5.2.1)
Is the entity a sibling node of the other node in the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
)? (See OData-Data-Agg-v4.0, section 5.5.2.1)
A node is not a sibling of itself. If a node identifier passed to the function is null, the function returns null.
HierarchyNodes | +HierarchyNodes | [EntityType] | A collection, given through a $root expression |
|
HierarchyQualifier | -HierarchyQualifier | +HierarchyQualifier | +HierarchyQualifier | |
Node | +Node | PrimitiveType? | Node identifier of the putative sibling | |
Other | +Other | PrimitiveType? | Node identifier of the other node | |
→ | +→ | Boolean? |
Is the entity a leaf node in the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
)? (See OData-Data-Agg-v4.0, section 5.5.2.1)
Is the entity a leaf node in the hierarchy specified by the parameter pair (HierarchyNodes
, HierarchyQualifier
)? (See OData-Data-Agg-v4.0, section 5.5.2.1)
If a node identifier passed to the function is null, the function returns null.
HierarchyNodes | +HierarchyNodes | [EntityType] | A collection, given through a $root expression |
|
HierarchyQualifier | -HierarchyQualifier | +HierarchyQualifier | +HierarchyQualifier | |
Node | +Node | PrimitiveType? | Node identifier of the putative leaf | |
→ | +→ | Boolean? |
During rolluprecursive
for a hierarchy node, this function returns the node
This function may only occur in the second parameter of a groupby
transformation whose first parameter contains rolluprecursive(...)
. It is evaluated as part of the transformation R(x)
in the “rolluprecursive
algorithm” (OData-Data-Agg-v4.0, section 6.3). Its behavior is undefined outside of this algorithm.
Sales?$apply=groupby((rolluprecursive(...)), filter(SalesOrganization eq Aggregation.rollupnode())/aggregate(...))
@@ -3613,23 +3613,23 @@ rolluprecursive
operators in the first argument of groupby
groupby
transformation with M rolluprecursive
operators has M relationships to M nodes in M recursive hierarchies. This function returns the node x with path r to the root in relationship number N. If several such groupby
transformations are nested, this function refers to the innermost one.Services that do not fully implement a certain aggregation-related functionality may document this by annotating the ApplySupported
or ApplySupportedDefaults
annotation with a description.
Services that do not fully implement a certain aggregation-related functionality may document this by annotating the ApplySupported
or ApplySupportedDefaults
annotation with a description.
Derived Types:
Transformations | -[Transformation] | +Transformations | +[Transformation] | Transformations that can be used in $apply |
CustomAggregationMethods | +CustomAggregationMethods | [String] | Qualified names of custom aggregation methods that can be used in aggregate(...with...) |
|
Rollup | -RollupType | +Rollup | +RollupType | The service supports rollup hierarchies in a groupby transformation |
From | +From | Boolean | The service supports the from keyword in an aggregate transformation |
Transformations | -[Transformation] | +Transformations | +[Transformation] | Transformations that can be used in $apply |
CustomAggregationMethods | +CustomAggregationMethods | [String] | Qualified names of custom aggregation methods that can be used in aggregate(...with...) |
|
Rollup | -RollupType | +Rollup | +RollupType | The service supports rollup hierarchies in a groupby transformation |
From | +From | Boolean | The service supports the from keyword in an aggregate transformation |
|
PropertyRestrictions (Deprecated) | +PropertyRestrictions (Deprecated) | Boolean | -Deprecated since Groupable and Aggregatable are deprecated |
+Deprecated since Groupable and Aggregatable are deprecated |
GroupableProperties | +GroupableProperties | [AnyPropertyPath] | A non-empty collection indicates that only the listed properties of the annotated target are supported by the groupby transformation |
|
AggregatableProperties | -[AggregatablePropertyType] | +AggregatableProperties | +[AggregatablePropertyType] | A non-empty collection indicates that only the listed properties of the annotated target can be used in the aggregate transformation, optionally restricted to the specified aggregation methods |
Property | +Property | PropertyPath | Aggregatable property | |
SupportedAggregationMethods | -[AggregationMethod] | +SupportedAggregationMethods | +[AggregationMethod] | Standard and custom aggregation methods that can be applied to the property. If omitted, all aggregation methods can be applied |
RecommendedAggregationMethod | -AggregationMethod? | +RecommendedAggregationMethod | +AggregationMethod? | Recommended method for aggregating values of the property |
Type: String
A transformation that can be used in $apply
aggregate | +aggregate | OData-Data-Agg-v4.0, section 3.2.1 |
groupby | +groupby | OData-Data-Agg-v4.0, section 3.2.3 |
concat | +concat | OData-Data-Agg-v4.0, section 3.2.2 |
identity | +identity | OData-Data-Agg-v4.0, section 3.4.1 |
filter | +filter | OData-Data-Agg-v4.0, section 3.3.2 |
search | +search | OData-Data-Agg-v4.0, section 3.3.4 |
nest | +nest | OData-Data-Agg-v4.0, section 3.5.2 |
addnested | +addnested | OData-Data-Agg-v4.0, section 3.4.3 |
join | +join | OData-Data-Agg-v4.0, section 3.5.1 |
outerjoin | +outerjoin | OData-Data-Agg-v4.0, section 3.5.1 |
compute | +compute | OData-Data-Agg-v4.0, section 3.4.2 |
bottomcount | +bottomcount | OData-Data-Agg-v4.0, section 3.3.1.1 |
bottomsum | +bottomsum | OData-Data-Agg-v4.0, section 3.3.1.3 |
bottompercent | +bottompercent | OData-Data-Agg-v4.0, section 3.3.1.2 |
topcount | +topcount | OData-Data-Agg-v4.0, section 3.3.1.1 |
topsum | +topsum | OData-Data-Agg-v4.0, section 3.3.1.3 |
toppercent | +toppercent | OData-Data-Agg-v4.0, section 3.3.1.2 |
orderby | +orderby | OData-Data-Agg-v4.0, section 3.3.3 |
top | +top | OData-Data-Agg-v4.0, section 3.3.6 |
skip | +skip | OData-Data-Agg-v4.0, section 3.3.5 |
ancestors | +ancestors | OData-Data-Agg-v4.0, section 6.2.1 |
descendants | +descendants | OData-Data-Agg-v4.0, section 6.2.1 |
traverse | +traverse | OData-Data-Agg-v4.0, section 6.2.2 |
Type: String
Standard or custom aggregation method
Custom aggregation methods MUST use a namespace-qualified name, that is contain at least one dot.
@@ -3858,29 +3858,29 @@The number of rollup
or rolluprecursive
operators allowed in a groupby
transformation
None | +None | 0 | No support for rollup or rolluprecursive |
SingleHierarchy | +SingleHierarchy | 1 | Only one rollup or rolluprecursive operator per groupby |
MultipleHierarchies | +MultipleHierarchies | 2 | Full support for rollup and rolluprecursive |
NodeProperty | +NodeProperty | PropertyPath | Primitive property holding the node identifier |
ParentNavigationProperty | +ParentNavigationProperty | NavigationPropertyPath | Property for navigating to the parent node(s). Its type MUST be the entity type annotated with this term, and it MUST be collection-valued or nullable single-valued. |
Type: String
-Qualifier of a RecursiveHierarchy
annotation
Qualifier of a RecursiveHierarchy
annotation
Every recursive hierarchy function defined in this vocabulary has
HierarchyQualifier
of this type andHierarchyNodes
that is a collection of entities of a common type without multiple occurrences of the same entity.HierarchyQualifier
is the qualifier of a RecursiveHierarchy
annotation on the entity type of the collection given by the HierarchyNodes
parameter. This specifies a recursive hierarchy that is evaluated by the function.
RequiredProperties | +RequiredProperties | [PropertyPath] | Properties required to apply this function |
Capabilities.NavigationRestrictions
that make use of the additional properties in this subtype are deprecated in favor of ApplySupported
and CustomAggregate
Deprecated since NavigationPropertyAggregationCapabilities
is also deprecated
Capabilities.NavigationRestrictions
that make use of the additional properties in this subtype are deprecated in favor of ApplySupported
and CustomAggregate
Deprecated since NavigationPropertyAggregationCapabilities
is also deprecated
Namespace: Org.OData.Authorization.V1
+Namespace: Org.OData.Authorization.V1
The Authorization Vocabulary provides terms for describing authorization requirements of the service
SecuritySchemes | -[SecurityScheme] | -At least one of the specified security schemes are required to make a request against the service | +SecuritySchemes | +[SecurityScheme] | +At least one of the specified security schemes are required to make a request against the service |
Authorizations | -[Authorization] | -Lists the methods supported by the service to authorize access | +Authorizations | +[Authorization] | +Lists the methods supported by the service to authorize access |
Authorization | -SchemeName | +Authorization | +SchemeName | The name of a required authorization scheme |
RequiredScopes | +RequiredScopes | [String] | The names of scopes required from this authorization scheme |
Base type for all Authorization types
Derived Types:
Name | +Name | String | Name that can be used to reference the authorization scheme |
Description | +Description | String? | Description of the authorization scheme |
Name | +Name | String | Name that can be used to reference the authorization scheme |
Description | +Description | String? | Description of the authorization scheme |
IssuerUrl | +IssuerUrl | URL | Issuer location for the OpenID Provider. Configuration information can be obtained by appending /.well-known/openid-configuration to this Url. |
Name | +Name | String | Name that can be used to reference the authorization scheme |
Description | +Description | String? | Description of the authorization scheme |
Scheme | +Scheme | String | HTTP Authorization scheme to be used in the Authorization header, as per RFC7235 |
BearerFormat | +BearerFormat | String? | Format of the bearer token |
Derived Types:
Name | +Name | String | Name that can be used to reference the authorization scheme | |
Description | +Description | String? | Description of the authorization scheme | |
Scopes | -[AuthorizationScope] | +Scopes | +[AuthorizationScope] | Available scopes |
RefreshUrl | +RefreshUrl | URL? | Refresh Url |
Name | +Name | String | Name that can be used to reference the authorization scheme | |
Description | +Description | String? | Description of the authorization scheme | |
Scopes | -[AuthorizationScope] | +Scopes | +[AuthorizationScope] | Available scopes |
RefreshUrl | +RefreshUrl | URL? | Refresh Url | |
TokenUrl | +TokenUrl | URL | Token Url |
Security note: OAuth2 implicit grant is considered to be not secure and should not be used by clients, see OAuth 2.0 Security Best Current Practice.
Name | +Name | String | Name that can be used to reference the authorization scheme | |
Description | +Description | String? | Description of the authorization scheme | |
Scopes | -[AuthorizationScope] | +Scopes | +[AuthorizationScope] | Available scopes |
RefreshUrl | +RefreshUrl | URL? | Refresh Url | |
AuthorizationUrl | +AuthorizationUrl | URL | Authorization URL |
Name | +Name | String | Name that can be used to reference the authorization scheme | |
Description | +Description | String? | Description of the authorization scheme | |
Scopes | -[AuthorizationScope] | +Scopes | +[AuthorizationScope] | Available scopes |
RefreshUrl | +RefreshUrl | URL? | Refresh Url | |
TokenUrl | +TokenUrl | URL | Token Url |
Name | +Name | String | Name that can be used to reference the authorization scheme | |
Description | +Description | String? | Description of the authorization scheme | |
Scopes | -[AuthorizationScope] | +Scopes | +[AuthorizationScope] | Available scopes |
RefreshUrl | +RefreshUrl | URL? | Refresh Url | |
AuthorizationUrl | +AuthorizationUrl | URL | Authorization URL | |
TokenUrl | +TokenUrl | URL | Token Url |
Scope | +Scope | String | Scope name |
Grant | +Grant | String? | Identity that has access to the scope or can grant access to the scope. |
Description | +Description | String | Description of the scope |
Name | +Name | String | Name that can be used to reference the authorization scheme | |
Description | +Description | String? | Description of the authorization scheme | |
KeyName | +KeyName | String | The name of the header or query parameter | |
Location | -KeyLocation | +Location | +KeyLocation | Whether the API Key is passed in the header or as a query option |
Header | +Header | 0 | API Key is passed in the header |
QueryOption | +QueryOption | 1 | API Key is passed as a query option |
Cookie | +Cookie | 2 | API Key is passed as a cookie |
Type: String
The name of the authorization scheme.
Namespace: Org.OData.Temporal.V1
+Namespace: Org.OData.Temporal.V1
Terms for describing time-dependent data
ApplicationTimeSupport | -ApplicationTimeSupportType | -This collection supports temporal requests | +ApplicationTimeSupport | +ApplicationTimeSupportType | +This collection supports temporal requests |
Updates existing time slices with values from delta time slices whose object keys match and whose periods overlap
The update behavior for a given object key is known from the SQL statement UPDATE ... FOR PORTION OF BUSINESS_TIME ... WHERE ...
.
deltaTimeslices
with non-matching object keys and non-overlapping sub-periods of deltaTimeslices
are disregarded.
timeslices
collectionLike Update
, but additionally inserts those (sub-periods of) deltaTimeslices
that Update
disregards
Like Update
, but additionally inserts those (sub-periods of) deltaTimeslices
that Update
disregards
timeslices | +timeslices | [EntityType] | Binding parameter: Time slices to modify | |
deltaTimeslices | -[TimesliceWithPeriod] | +deltaTimeslices | +[TimesliceWithPeriod] | New time slices to be merged into the timeslices collectionThe delta time slices must contain all properties that are needed for insertion. New time slices are processed in the order of the collection, which especially matters if some of the specified change periods overlap. |
→ | -[TimesliceWithPeriod] | +→ | +[TimesliceWithPeriod] | Modified time slices |
Deletes (sub-periods of) existing time slices whose object keys match and whose periods overlap deltaTimeslices
The deletion behavior for a given object key is known from the SQL statement DELETE ... FOR PORTION OF BUSINESS_TIME ... WHERE ...
. The sub-period of an existing time slice that lies outside a given instance of deltaTimeslices
is kept, effectively shortening the time slice.
timeslices | +timeslices | [EntityType] | Binding parameter: Time slices to modify | |
deltaTimeslices | -[TimesliceWithPeriod] | +deltaTimeslices | +[TimesliceWithPeriod] | Time slices to be deleted from the timeslices collectionThe delta time slices contain only the boundary values of the period to delete and (parts of) the object key. An absent object key property matches any key property value. |
→ | -[TimesliceWithPeriod] | +→ | +[TimesliceWithPeriod] | Deleted (sub-periods of) time slices |
UnitOfTime | -UnitOfTime | +UnitOfTime | +UnitOfTime | Unit of time and other properties of a time period |
Timeline | -Timeline | +Timeline | +Timeline | Describes how the history and future of the data are represented |
SupportedActions | -[QualifiedActionName] | +SupportedActions | +[QualifiedActionName] | List of supported temporal actions |
Unit of time and other properties of a time period
Derived Types:
- -Period start and end are of type Edm.DateTimeOffset
Precision | +Precision | Byte | Precision of Edm.DateTimeOffset values for period start and end |
Period start and end are of type Edm.Date
The period is a contiguous set of days and does not consider the time of the day.
ClosedClosedPeriods | +ClosedClosedPeriods | Boolean | If true , the period end is the last day in the period; if false , the period end is the first day after the period |
Describes how the history and future of the data are represented
Derived Types:
- -Each OData entity maps each point in application time to an instance of the entity type
To address an entity in a resource path or path to related resources, a point in application time must be specified as described in [OData-Temporal, section 4.2.1]. The addressed entity is then a snapshot of the data at the given point in time. When an action defined in this vocabulary is applied to a collection of this entity type, the entity key plays the role of object key.
- -Each OData entity represents data during a period of application time
The temporal collection MUST NOT contain two entities with the same object key as defined by their ObjectKey
properties and with overlapping application-time periods as defined by their PeriodStart
and PeriodEnd
properties. The temporal collection always contains all entities (with consecutive time periods) for a given object key.
PeriodStart | +PeriodStart | PropertyPath | Property containing lower boundary of a period |
PeriodEnd | +PeriodEnd | PropertyPath | Property containing upper boundary of a period If an upper boundary property does not specify a default value, a default value of max is assumed. |
ObjectKey | +ObjectKey | [PropertyPath] | The set of primitive properties that identify a temporal object A temporal object is a set of facts whose changes over application time are tracked by the service. The entities in the annotated collection belong to potentially multiple temporal objects, and each temporal object is uniquely identified by the values of the specified object key properties. Object key properties follow the same rules as entity key properties. If no object key is specified, only a single temporal object belongs to the annotated collection. |
Delta time slices with validity period
-The properties PeriodStart
and PeriodEnd
MUST NOT be present if the entity type of the Timeslice
already contains period start and end, that is, if the collection on which the action is invoked has visible timeline. If present, they MUST have the same type, either Edm.Date
or Edm.DateTimeOffset
, and they are interpreted according to the ApplicationTimeSupport/UnitOfTime
of the collection. In particular, ApplicationTimeSupport/UnitOfTime/ClosedClosedPeriods
governs whether a PeriodEnd
of type Edm.Date
is the last day in the period or the first day after the period. If PeriodStart
is present and PeriodEnd
is absent, a default value of max
is assumed for PeriodEnd
.
The properties PeriodStart
and PeriodEnd
MUST NOT be present if the entity type of the Timeslice
already contains period start and end, that is, if the collection on which the action is invoked has visible timeline. If present, they MUST have the same type, either Edm.Date
or Edm.DateTimeOffset
, and they are interpreted according to the ApplicationTimeSupport/UnitOfTime
of the collection. In particular, ApplicationTimeSupport/UnitOfTime/ClosedClosedPeriods
governs whether a PeriodEnd
of type Edm.Date
is the last day in the period or the first day after the period. If PeriodStart
is present and PeriodEnd
is absent, a default value of max
is assumed for PeriodEnd
.