Skip to content
Permalink
Branch: master
Find file Copy path
1 contributor

Users who have contributed to this file

200 lines (140 sloc) 13.6 KB

Core Vocabulary

Namespace: Org.OData.Core.V1

Core terms needed to write vocabularies

Terms

Term Type Description
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.
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.
Revisions [RevisionType] List of revisions of a model element
Description String A brief description of a model element
LongDescription String A lengthy description of a model element
Links [Link] Link to related information
Example ExampleValue Example for an instance of the annotated model element (Example)
Messages [MessageType] Instance annotation for warning and info messages
IsLanguageDependent Tag Properties and terms annotated with this term are language-dependent
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
ResourcePath 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
ConventionalIDs Tag Entity-ids follow OData URL conventions
Permissions Permission Permissions for accessing a resource
ContentID String 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.

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
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
AcceptableMediaTypes [MediaType] Lists the MIME types acceptable for the annotated entity type marked with HasStream="true" or the annotated stream property
MediaType MediaType The media type of a binary resource
IsMediaType Tag Properties and terms annotated with this term MUST contain a valid MIME type
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.
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 navigation property 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
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.
PositionalInsert Tag Items can be inserted at a given ordinal index.
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.

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.

RevisionType

Property Type Description
Version String The schema version with which this revision was first published
Kind RevisionKind The kind of revision
Description String Text describing the reason for the revision

RevisionKind

Member Value Description
Added 0 Model element was added
Modified 1 Model element was modified
Deprecated 2 Model element was deprecated

Link

The Link term is inspired by the atom:link element, see RFC4287, and the Link HTTP header, see RFC5988

Property Type Description
rel String Link relation type, see IANA Link Relations
href URL URL of related information

ExampleValue

Derived Types:

Property Type Description
Description String Description of the example value

PrimitiveExampleValue: ExampleValue

Property Type Description
Description String Description of the example value
Value PrimitiveType Example value for the custom parameter

ComplexExampleValue: ExampleValue

Property Type Description
Description String Description of the example value
Value ComplexType Example value for the custom parameter

EntityExampleValue: ExampleValue

Property Type Description
Description String Description of the example value
Value EntityType Example value for the custom parameter

ExternalExampleValue: ExampleValue

Property Type Description
Description String Description of the example value
ExternalValue URL Url reference to the value in its literal format

MessageType

Property Type Description
code String Machine-readable, language-independent message code
message String Human-readable, language-dependent message text
severity MessageSeverity Severity of the message
target String A path to the target of the message detail, relative to the annotated instance
details [MessageType] List of detail messages

MessageSeverity

Type: String

Allowed Value Description
success Positive feedback - no action required
info Additional information - no action required
warning Warning - action may be required
error Error - action is required

Tag

Type: Boolean

This is the type to use for all tagging terms

Permission

Flag Member Value Description
None 0 No permissions
Read 1 Read permission
Write 2 Write permission
ReadWrite 3 Read and write permission
Invoke 4 Permission to invoke actions

QualifiedTermName

Type: String

The qualified name of a term in scope.

QualifiedTypeName

Type: String

The qualified name of a type in scope.

AlternateKey

Property Type Description
Key [PropertyRef] The set of properties that make up this key

PropertyRef

Property Type Description
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 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

Dictionary

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.

Property Type
Any simple identifier Any type listed in Validation.OpenPropertyTypeConstraint, or any type if there is no constraint

OptionalParameterType

Property Type Description
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.

LocalDateTime

Type: String

A string representing a Local Date-Time value with no offset.

You can’t perform that action at this time.