From 0fa290ed785c0282abf0cfc8f6b5aa5db01dc531 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Fri, 16 Sep 2022 09:50:04 +0200 Subject: [PATCH 01/11] New instance annotation @Core.changed for delta messages --- vocabularies/Org.OData.Core.V1.json | 7 +++++++ vocabularies/Org.OData.Core.V1.md | 1 + vocabularies/Org.OData.Core.V1.xml | 11 +++++++++++ 3 files changed, 19 insertions(+) diff --git a/vocabularies/Org.OData.Core.V1.json b/vocabularies/Org.OData.Core.V1.json index 06ad9c95..a57f1578 100644 --- a/vocabularies/Org.OData.Core.V1.json +++ b/vocabularies/Org.OData.Core.V1.json @@ -703,6 +703,13 @@ "$Nullable": true, "@Core.Description": "Commonly used identifer for a Feature" } + }, + "changed": { + "$Kind": "Term", + "$Type": "Edm.Boolean", + "$Nullable": true, + "@Core.Description": "Instance annotation on [added/changed entities in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity), `true` indicating that the entity existed and was changed when the delta message was produced", + "@Core.LongDescription": "The presence or absence of `@Core.changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.\n\nThe recipient of a delta message MAY use the `@Core.changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.\n\nThe `@Core.changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a different sequence as their creation sequence." } } } \ No newline at end of file diff --git a/vocabularies/Org.OData.Core.V1.md b/vocabularies/Org.OData.Core.V1.md index 8c2ec81b..55b2103d 100644 --- a/vocabularies/Org.OData.Core.V1.md +++ b/vocabularies/Org.OData.Core.V1.md @@ -48,6 +48,7 @@ Term|Type|Description [OperationAvailable](./Org.OData.Core.V1.xml#L507:~:text=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. [SymbolicName](./Org.OData.Core.V1.xml#L518:~:text=A symbolic name for a model element [GeometryFeature](./Org.OData.Core.V1.xml#L526:~:text=A [Feature Object](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) represents a spatially bounded thing +[changed](./Org.OData.Core.V1.xml#L542:~:text=Instance annotation on [added/changed entities in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity), `true` indicating that the entity existed and was changed when the delta message was produced
The presence or absence of `@Core.changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.
The recipient of a delta message MAY use the `@Core.changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.
The `@Core.changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a different sequence as their creation sequence. ## [RevisionType](./Org.OData.Core.V1.xml#L80:~:text= + + + + The presence or absence of `@Core.changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity. + +The recipient of a delta message MAY use the `@Core.changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT. + +The `@Core.changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a different sequence as their creation sequence. + + + From d8796cd115b916aa4a8f81937a42ba35022f9abb Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Fri, 16 Sep 2022 10:01:40 +0200 Subject: [PATCH 02/11] Heiko's proposal --- vocabularies/Org.OData.Core.V1.json | 2 +- vocabularies/Org.OData.Core.V1.md | 2 +- vocabularies/Org.OData.Core.V1.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/vocabularies/Org.OData.Core.V1.json b/vocabularies/Org.OData.Core.V1.json index a57f1578..1f96e2ba 100644 --- a/vocabularies/Org.OData.Core.V1.json +++ b/vocabularies/Org.OData.Core.V1.json @@ -709,7 +709,7 @@ "$Type": "Edm.Boolean", "$Nullable": true, "@Core.Description": "Instance annotation on [added/changed entities in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity), `true` indicating that the entity existed and was changed when the delta message was produced", - "@Core.LongDescription": "The presence or absence of `@Core.changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.\n\nThe recipient of a delta message MAY use the `@Core.changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.\n\nThe `@Core.changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a different sequence as their creation sequence." + "@Core.LongDescription": "The presence or absence of `@Core.changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.\n\nThe recipient of a delta message MAY use the `@Core.changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.\n\nThe `@Core.changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence." } } } \ No newline at end of file diff --git a/vocabularies/Org.OData.Core.V1.md b/vocabularies/Org.OData.Core.V1.md index 55b2103d..4eeab067 100644 --- a/vocabularies/Org.OData.Core.V1.md +++ b/vocabularies/Org.OData.Core.V1.md @@ -48,7 +48,7 @@ Term|Type|Description [OperationAvailable](./Org.OData.Core.V1.xml#L507:~:text=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. [SymbolicName](./Org.OData.Core.V1.xml#L518:~:text=A symbolic name for a model element [GeometryFeature](./Org.OData.Core.V1.xml#L526:~:text=A [Feature Object](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) represents a spatially bounded thing -[changed](./Org.OData.Core.V1.xml#L542:~:text=Instance annotation on [added/changed entities in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity), `true` indicating that the entity existed and was changed when the delta message was produced
The presence or absence of `@Core.changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.
The recipient of a delta message MAY use the `@Core.changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.
The `@Core.changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a different sequence as their creation sequence. +[changed](./Org.OData.Core.V1.xml#L542:~:text=Instance annotation on [added/changed entities in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity), `true` indicating that the entity existed and was changed when the delta message was produced
The presence or absence of `@Core.changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.
The recipient of a delta message MAY use the `@Core.changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.
The `@Core.changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence. ## [RevisionType](./Org.OData.Core.V1.xml#L80:~:text= +The `@Core.changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence. From a2160a4ed21c9d151230a4dcaaed8cd7ab5bf1f9 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Thu, 22 Sep 2022 17:18:01 +0200 Subject: [PATCH 03/11] UpperCamelCase for term name --- vocabularies/Org.OData.Core.V1.json | 4 ++-- vocabularies/Org.OData.Core.V1.md | 2 +- vocabularies/Org.OData.Core.V1.xml | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/vocabularies/Org.OData.Core.V1.json b/vocabularies/Org.OData.Core.V1.json index 1f96e2ba..dd15464d 100644 --- a/vocabularies/Org.OData.Core.V1.json +++ b/vocabularies/Org.OData.Core.V1.json @@ -704,12 +704,12 @@ "@Core.Description": "Commonly used identifer for a Feature" } }, - "changed": { + "Changed": { "$Kind": "Term", "$Type": "Edm.Boolean", "$Nullable": true, "@Core.Description": "Instance annotation on [added/changed entities in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity), `true` indicating that the entity existed and was changed when the delta message was produced", - "@Core.LongDescription": "The presence or absence of `@Core.changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.\n\nThe recipient of a delta message MAY use the `@Core.changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.\n\nThe `@Core.changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence." + "@Core.LongDescription": "The presence or absence of `@Core.Changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.\n\nThe recipient of a delta message MAY use the `@Core.Changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.\n\nThe `@Core.Changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence." } } } \ No newline at end of file diff --git a/vocabularies/Org.OData.Core.V1.md b/vocabularies/Org.OData.Core.V1.md index 4eeab067..6edcafa3 100644 --- a/vocabularies/Org.OData.Core.V1.md +++ b/vocabularies/Org.OData.Core.V1.md @@ -48,7 +48,7 @@ Term|Type|Description [OperationAvailable](./Org.OData.Core.V1.xml#L507:~:text=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. [SymbolicName](./Org.OData.Core.V1.xml#L518:~:text=A symbolic name for a model element [GeometryFeature](./Org.OData.Core.V1.xml#L526:~:text=A [Feature Object](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) represents a spatially bounded thing -[changed](./Org.OData.Core.V1.xml#L542:~:text=Instance annotation on [added/changed entities in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity), `true` indicating that the entity existed and was changed when the delta message was produced
The presence or absence of `@Core.changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.
The recipient of a delta message MAY use the `@Core.changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.
The `@Core.changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence. +[Changed](./Org.OData.Core.V1.xml#L542:~:text=Instance annotation on [added/changed entities in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity), `true` indicating that the entity existed and was changed when the delta message was produced
The presence or absence of `@Core.Changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.
The recipient of a delta message MAY use the `@Core.Changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.
The `@Core.Changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence. ## [RevisionType](./Org.OData.Core.V1.xml#L80:~:text= - + - The presence or absence of `@Core.changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity. + The presence or absence of `@Core.Changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity. -The recipient of a delta message MAY use the `@Core.changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT. +The recipient of a delta message MAY use the `@Core.Changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT. -The `@Core.changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence. +The `@Core.Changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence. From 6ab958c71ddc2ebae1cc2515290b8b0bf18ebb12 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Fri, 23 Sep 2022 11:05:44 +0200 Subject: [PATCH 04/11] Renamed to Core.PreviousState --- vocabularies/Org.OData.Core.V1.json | 17 ++++++++++++----- vocabularies/Org.OData.Core.V1.md | 10 +++++++++- vocabularies/Org.OData.Core.V1.xml | 19 +++++++++++++------ 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/vocabularies/Org.OData.Core.V1.json b/vocabularies/Org.OData.Core.V1.json index dd15464d..19324f55 100644 --- a/vocabularies/Org.OData.Core.V1.json +++ b/vocabularies/Org.OData.Core.V1.json @@ -704,12 +704,19 @@ "@Core.Description": "Commonly used identifer for a Feature" } }, - "Changed": { + "PreviousState": { "$Kind": "Term", - "$Type": "Edm.Boolean", - "$Nullable": true, - "@Core.Description": "Instance annotation on [added/changed entities in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity), `true` indicating that the entity existed and was changed when the delta message was produced", - "@Core.LongDescription": "The presence or absence of `@Core.Changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.\n\nThe recipient of a delta message MAY use the `@Core.Changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.\n\nThe `@Core.Changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence." + "$Type": "Core.PreviousStateType", + "@Core.Description": "Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) carrying this instance annotation", + "@Core.LongDescription": "The presence or absence of this instance annotation does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.\n\nThe recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT." + }, + "PreviousStateType": { + "$Kind": "EnumType", + "@Core.Description": "Previous state of a resource whose changes are described by an [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity)", + "Existed": 1, + "Existed@Core.Description": "The annotated entity describes changes to a resource that already existed prior to capturing these changes", + "Unknown": 0, + "Unknown@Core.Description": "The sender does not know whether the resource already existed prior to capturing these changes" } } } \ No newline at end of file diff --git a/vocabularies/Org.OData.Core.V1.md b/vocabularies/Org.OData.Core.V1.md index 6edcafa3..941f1fa7 100644 --- a/vocabularies/Org.OData.Core.V1.md +++ b/vocabularies/Org.OData.Core.V1.md @@ -48,7 +48,7 @@ Term|Type|Description [OperationAvailable](./Org.OData.Core.V1.xml#L507:~:text=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. [SymbolicName](./Org.OData.Core.V1.xml#L518:~:text=A symbolic name for a model element [GeometryFeature](./Org.OData.Core.V1.xml#L526:~:text=A [Feature Object](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) represents a spatially bounded thing -[Changed](./Org.OData.Core.V1.xml#L542:~:text=Instance annotation on [added/changed entities in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity), `true` indicating that the entity existed and was changed when the delta message was produced
The presence or absence of `@Core.Changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.
The recipient of a delta message MAY use the `@Core.Changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT.
The `@Core.Changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence. +[PreviousState](./Org.OData.Core.V1.xml#L542:~:text=Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) carrying this instance annotation
The presence or absence of this instance annotation does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.
The recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT. ## [RevisionType](./Org.OData.Core.V1.xml#L80:~:text=[PreviousStateType](./Org.OData.Core.V1.xml#L550:~:text= - - + + - The presence or absence of `@Core.Changed` does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity. + The presence or absence of this instance annotation does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity. -The recipient of a delta message MAY use the `@Core.Changed` annotation for optimization only, ultimately any received added/changed entity MUST be processed as an UPSERT. - -The `@Core.Changed` annotation expresses the sender's local knowledge when generating the delta message, and this local sender knowledge can be out of date by the time the recipient processes the delta message for a variety of reasons, for example if the same delta message is processed again, or a preceding delta message was lost, or delta messages are processed in a sequence different from their creation sequence. +The recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT. + + + + + + + + + From 786c213fdb8413bfa73c24cd67114bb7ca42fa19 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Tue, 4 Oct 2022 09:44:23 +0200 Subject: [PATCH 05/11] Core.PreviousState: new value "Absent" --- vocabularies/Org.OData.Core.V1.json | 2 ++ vocabularies/Org.OData.Core.V1.md | 5 +++-- vocabularies/Org.OData.Core.V1.xml | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/vocabularies/Org.OData.Core.V1.json b/vocabularies/Org.OData.Core.V1.json index 19324f55..2bbbdc0b 100644 --- a/vocabularies/Org.OData.Core.V1.json +++ b/vocabularies/Org.OData.Core.V1.json @@ -713,6 +713,8 @@ "PreviousStateType": { "$Kind": "EnumType", "@Core.Description": "Previous state of a resource whose changes are described by an [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity)", + "Absent": 2, + "Absent@Core.Description": "The annotated entity describes changes to a resource that did not exist prior to capturing these changes", "Existed": 1, "Existed@Core.Description": "The annotated entity describes changes to a resource that already existed prior to capturing these changes", "Unknown": 0, diff --git a/vocabularies/Org.OData.Core.V1.md b/vocabularies/Org.OData.Core.V1.md index 941f1fa7..5e784972 100644 --- a/vocabularies/Org.OData.Core.V1.md +++ b/vocabularies/Org.OData.Core.V1.md @@ -288,5 +288,6 @@ Previous state of a resource whose changes are described by an [added/changed en Member|Value|Description :-----|----:|:---------- -[Existed](./Org.OData.Core.V1.xml#L552:~:text= + + + From d2c06782564ae2a7c2b0dcc26bbda09195cd17cd Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Tue, 4 Oct 2022 09:55:06 +0200 Subject: [PATCH 06/11] Core.PreviousState: also allow for nested entities in a deep update/upsert --- vocabularies/Org.OData.Core.V1.json | 6 +++--- vocabularies/Org.OData.Core.V1.md | 4 ++-- vocabularies/Org.OData.Core.V1.xml | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/vocabularies/Org.OData.Core.V1.json b/vocabularies/Org.OData.Core.V1.json index 2bbbdc0b..f61459fc 100644 --- a/vocabularies/Org.OData.Core.V1.json +++ b/vocabularies/Org.OData.Core.V1.json @@ -707,12 +707,12 @@ "PreviousState": { "$Kind": "Term", "$Type": "Core.PreviousStateType", - "@Core.Description": "Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) carrying this instance annotation", - "@Core.LongDescription": "The presence or absence of this instance annotation does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.\n\nThe recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT." + "@Core.Description": "Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) or a [nested entity in a deep-update request ](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateRelatedEntitiesWhenUpdatinganE) carrying this instance annotation", + "@Core.LongDescription": "The presence or absence of this instance annotation does not alter the idempotent nature of a delta or deep-update message, nor does it alter the UPSERT nature of an added/changed or nested entity.\n\nThe recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT." }, "PreviousStateType": { "$Kind": "EnumType", - "@Core.Description": "Previous state of a resource whose changes are described by an [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity)", + "@Core.Description": "Previous state of a resource whose changes are described by an [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) or a [nested entity in a deep-update request ](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateRelatedEntitiesWhenUpdatinganE)", "Absent": 2, "Absent@Core.Description": "The annotated entity describes changes to a resource that did not exist prior to capturing these changes", "Existed": 1, diff --git a/vocabularies/Org.OData.Core.V1.md b/vocabularies/Org.OData.Core.V1.md index 5e784972..c0739f31 100644 --- a/vocabularies/Org.OData.Core.V1.md +++ b/vocabularies/Org.OData.Core.V1.md @@ -48,7 +48,7 @@ Term|Type|Description [OperationAvailable](./Org.OData.Core.V1.xml#L507:~:text=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. [SymbolicName](./Org.OData.Core.V1.xml#L518:~:text=A symbolic name for a model element [GeometryFeature](./Org.OData.Core.V1.xml#L526:~:text=A [Feature Object](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) represents a spatially bounded thing -[PreviousState](./Org.OData.Core.V1.xml#L542:~:text=Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) carrying this instance annotation
The presence or absence of this instance annotation does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity.
The recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT. +[PreviousState](./Org.OData.Core.V1.xml#L542:~:text=Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) or a [nested entity in a deep-update request ](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateRelatedEntitiesWhenUpdatinganE) carrying this instance annotation
The presence or absence of this instance annotation does not alter the idempotent nature of a delta or deep-update message, nor does it alter the UPSERT nature of an added/changed or nested entity.
The recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT. ## [RevisionType](./Org.OData.Core.V1.xml#L80:~:text=[PreviousStateType](./Org.OData.Core.V1.xml#L550:~:text= - + - The presence or absence of this instance annotation does not alter the idempotent nature of a delta message, nor does it alter the UPSERT nature of an added/changed entity. + The presence or absence of this instance annotation does not alter the idempotent nature of a delta or deep-update message, nor does it alter the UPSERT nature of an added/changed or nested entity. The recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT. - + From a88d43b71a59217dd1faba2d63476b584bd83268 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Tue, 4 Oct 2022 10:03:01 +0200 Subject: [PATCH 07/11] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Heiko Theißen --- vocabularies/Org.OData.Core.V1.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vocabularies/Org.OData.Core.V1.xml b/vocabularies/Org.OData.Core.V1.xml index 2ff877da..18af0651 100644 --- a/vocabularies/Org.OData.Core.V1.xml +++ b/vocabularies/Org.OData.Core.V1.xml @@ -540,7 +540,8 @@ Any simple identifier | Any type listed in `Validation.OpenPropertyTypeConstrain - + + The presence or absence of this instance annotation does not alter the idempotent nature of a delta or deep-update message, nor does it alter the UPSERT nature of an added/changed or nested entity. @@ -548,7 +549,8 @@ The recipient of a delta message MAY use the instance annotation for optimizatio - + + From 5991ca263e5576b1effaa035123e68702fc7ca45 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Tue, 4 Oct 2022 10:03:53 +0200 Subject: [PATCH 08/11] Rebuilt --- vocabularies/Org.OData.Core.V1.json | 4 ++-- vocabularies/Org.OData.Core.V1.md | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/vocabularies/Org.OData.Core.V1.json b/vocabularies/Org.OData.Core.V1.json index f61459fc..16b7ecf1 100644 --- a/vocabularies/Org.OData.Core.V1.json +++ b/vocabularies/Org.OData.Core.V1.json @@ -707,12 +707,12 @@ "PreviousState": { "$Kind": "Term", "$Type": "Core.PreviousStateType", - "@Core.Description": "Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) or a [nested entity in a deep-update request ](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateRelatedEntitiesWhenUpdatinganE) carrying this instance annotation", + "@Core.Description": "Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) or a [nested entity in a deep-update request](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateRelatedEntitiesWhenUpdatinganE) carrying this instance annotation", "@Core.LongDescription": "The presence or absence of this instance annotation does not alter the idempotent nature of a delta or deep-update message, nor does it alter the UPSERT nature of an added/changed or nested entity.\n\nThe recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT." }, "PreviousStateType": { "$Kind": "EnumType", - "@Core.Description": "Previous state of a resource whose changes are described by an [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) or a [nested entity in a deep-update request ](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateRelatedEntitiesWhenUpdatinganE)", + "@Core.Description": "Previous state of a resource whose changes are described by an [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) or a [nested entity in a deep-update request](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateRelatedEntitiesWhenUpdatinganE)", "Absent": 2, "Absent@Core.Description": "The annotated entity describes changes to a resource that did not exist prior to capturing these changes", "Existed": 1, diff --git a/vocabularies/Org.OData.Core.V1.md b/vocabularies/Org.OData.Core.V1.md index c0739f31..3bf86eb1 100644 --- a/vocabularies/Org.OData.Core.V1.md +++ b/vocabularies/Org.OData.Core.V1.md @@ -48,7 +48,7 @@ Term|Type|Description [OperationAvailable](./Org.OData.Core.V1.xml#L507:~:text=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. [SymbolicName](./Org.OData.Core.V1.xml#L518:~:text=A symbolic name for a model element [GeometryFeature](./Org.OData.Core.V1.xml#L526:~:text=A [Feature Object](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) represents a spatially bounded thing -[PreviousState](./Org.OData.Core.V1.xml#L542:~:text=Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) or a [nested entity in a deep-update request ](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateRelatedEntitiesWhenUpdatinganE) carrying this instance annotation
The presence or absence of this instance annotation does not alter the idempotent nature of a delta or deep-update message, nor does it alter the UPSERT nature of an added/changed or nested entity.
The recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT. +[PreviousState](./Org.OData.Core.V1.xml#L542:~:text=Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) or a [nested entity in a deep-update request](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateRelatedEntitiesWhenUpdatinganE) carrying this instance annotation
The presence or absence of this instance annotation does not alter the idempotent nature of a delta or deep-update message, nor does it alter the UPSERT nature of an added/changed or nested entity.
The recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT. ## [RevisionType](./Org.OData.Core.V1.xml#L80:~:text=[PreviousStateType](./Org.OData.Core.V1.xml#L550:~:text=[PreviousStateType](./Org.OData.Core.V1.xml#L551:~:text= Date: Tue, 10 Jan 2023 15:42:28 +0100 Subject: [PATCH 09/11] Update Org.OData.Core.V1.md --- vocabularies/Org.OData.Core.V1.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vocabularies/Org.OData.Core.V1.md b/vocabularies/Org.OData.Core.V1.md index 349c97e3..84d6a3fd 100644 --- a/vocabularies/Org.OData.Core.V1.md +++ b/vocabularies/Org.OData.Core.V1.md @@ -311,7 +311,8 @@ Property|Type|Description [properties](./Org.OData.Core.V1.xml#L534:~:text=[PreviousStateType](./Org.OData.Core.V1.xml#L551:~:text= +## [PreviousStateType](./Org.OData.Core.V1.xml#L551:~:text= Date: Thu, 6 Jun 2024 10:06:04 +0200 Subject: [PATCH 10/11] Revert unintended line breaks --- vocabularies/Org.OData.Core.V1.xml | 344 ++++++++++------------------- 1 file changed, 112 insertions(+), 232 deletions(-) diff --git a/vocabularies/Org.OData.Core.V1.xml b/vocabularies/Org.OData.Core.V1.xml index be444e19..657041e6 100644 --- a/vocabularies/Org.OData.Core.V1.xml +++ b/vocabularies/Org.OData.Core.V1.xml @@ -15,50 +15,35 @@ - Michael Pizzo (mikep@microsoft.com), Microsoft Additional artifacts: - This vocabulary is one component of a Work Product that also includes the following vocabulary -components: - - OData Core Vocabulary. Latest version: -https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Core.V1.xml. - - OData Measures Vocabulary. Latest version: -https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Measures.V1.xml. - - OData Capabilities Vocabulary. Latest version: -https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Capabilities.V1.xml. - - OData Validation Vocabulary. Latest version: -https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Validation.V1.xml. - - OData Aggregation Vocabulary. Latest version: -https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Aggregation.V1.xml. - - OData Authorization Vocabulary. Latest version: -https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Authorization.V1.xml. + This vocabulary is one component of a Work Product that also includes the following vocabulary components: + - OData Core Vocabulary. Latest version: https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Core.V1.xml. + - OData Measures Vocabulary. Latest version: https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Measures.V1.xml. + - OData Capabilities Vocabulary. Latest version: https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Capabilities.V1.xml. + - OData Validation Vocabulary. Latest version: https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Validation.V1.xml. + - OData Aggregation Vocabulary. Latest version: https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Aggregation.V1.xml. + - OData Authorization Vocabulary. Latest version: https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Authorization.V1.xml. Related work: This vocabulary replaces or supersedes: - OData Version 4.0 Vocabulary components: OData Core Vocabulary. This vocabulary is related to: - - OData Version 4.01 Part 1: Protocol. Latest version: -http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html. - - OData Version 4.01 Part 2: URL Conventions. Latest version: -http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html. - - OData Common Schema Definition Language (CSDL) JSON Representation Version 4.01. Latest version: -http://docs.oasis-open.org/odata/odata-csdl-json/v4.01/odata-csdl-json-v4.01.html. - - OData Common Schema Definition Language (CSDL) XML Representation Version 4.01. Latest version: -http://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html. - - OData JSON Format Version 4.01. Latest version: -http://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html. - - OData Extension for Data Aggregation Version 4.0. Latest version: -http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggregation-ext-v4.0.html. + - OData Version 4.01 Part 1: Protocol. Latest version: http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html. + - OData Version 4.01 Part 2: URL Conventions. Latest version: http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html. + - OData Common Schema Definition Language (CSDL) JSON Representation Version 4.01. Latest version: http://docs.oasis-open.org/odata/odata-csdl-json/v4.01/odata-csdl-json-v4.01.html. + - OData Common Schema Definition Language (CSDL) XML Representation Version 4.01. Latest version: http://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html. + - OData JSON Format Version 4.01. Latest version: http://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html. + - OData Extension for Data Aggregation Version 4.0. Latest version: http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggregation-ext-v4.0.html. Abstract: This vocabulary contains Core terms needed to write vocabularies. --> - + - + Core terms needed to write vocabularies @@ -66,18 +51,15 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + - + - +
@@ -85,13 +67,11 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + - + @@ -99,8 +79,7 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + @@ -137,11 +116,9 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr
- + - + @@ -149,14 +126,11 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - - + + - + @@ -186,8 +160,7 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + @@ -215,8 +188,7 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + @@ -224,25 +196,21 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + - + - + - + @@ -257,8 +225,7 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + @@ -287,30 +254,24 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + - + - - + + - + - + @@ -323,8 +284,7 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + @@ -343,10 +303,8 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - - + + @@ -357,45 +315,35 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + - - + + 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. - + - - + + - - + + - + - + @@ -419,116 +367,82 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + - - - + + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - + - + - - + + - - - + + + - - + + - - + + - + @@ -544,8 +458,7 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + Either - the qualified name of an action, to indicate the single bound overload with the specified binding parameter type, @@ -555,19 +468,15 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - - + + - + - + @@ -577,18 +486,15 @@ http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggr - + - + - + Property|Type @@ -598,45 +504,33 @@ Any simple identifier | Any type listed in `Validation.OpenPropertyTypeConstrain - - - + + + - - + + - + - + - - + + - + - - + + @@ -644,19 +538,15 @@ Any simple identifier | Any type listed in `Validation.OpenPropertyTypeConstrain - - + + - + - + @@ -671,7 +561,6 @@ Any simple identifier | Any type listed in `Validation.OpenPropertyTypeConstrain - The presence or absence of this instance annotation does not alter the idempotent nature of a delta or deep-update message, nor does it alter the UPSERT nature of an added/changed or nested entity. @@ -681,7 +570,6 @@ The recipient of a delta message MAY use the instance annotation for optimizatio - @@ -696,22 +584,14 @@ The recipient of a delta message MAY use the instance annotation for optimizatio - - + + 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. - - - - From 765f78e44d0c6b6277b99d4cb3a818a836a83907 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Thu, 6 Jun 2024 10:08:03 +0200 Subject: [PATCH 11/11] Revert more unintended changes --- vocabularies/Org.OData.Core.V1.md | 266 ++++++++++++++--------------- vocabularies/Org.OData.Core.V1.xml | 4 + 2 files changed, 137 insertions(+), 133 deletions(-) diff --git a/vocabularies/Org.OData.Core.V1.md b/vocabularies/Org.OData.Core.V1.md index 039ba851..7e24f82d 100644 --- a/vocabularies/Org.OData.Core.V1.md +++ b/vocabularies/Org.OData.Core.V1.md @@ -8,83 +8,83 @@ Core terms needed to write vocabularies Term|Type|Description :---|:---|:---------- -[ODataVersions](./Org.OData.Core.V1.xml#L87:~:text=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](./Org.OData.Core.V1.xml#L92:~:text=Service-defined value representing the version of the schema. Services MAY use semantic versioning, but clients MUST NOT assume this is the case. -[Revisions](./Org.OData.Core.V1.xml#L97:~:text=List of revisions of a model element -[Description](./Org.OData.Core.V1.xml#L126:~:text=A brief description of a model element -[LongDescription](./Org.OData.Core.V1.xml#L131:~:text=A long description of a model element -[Links](./Org.OData.Core.V1.xml#L136:~:text=Link to related information -[Example](./Org.OData.Core.V1.xml#L153:~:text=Example for an instance of the annotated model element ([Example](./Org.OData.Core.V1.xml#L156)) -[Messages](./Org.OData.Core.V1.xml#L226:~:text=Instance annotation for warning and info messages -[ValueException](./Org.OData.Core.V1.xml#L275:~:text=The annotated value is problematic -[ResourceException](./Org.OData.Core.V1.xml#L289:~:text=The annotated instance within a success payload is problematic -[DataModificationException](./Org.OData.Core.V1.xml#L302:~:text=A modification operation failed on the annotated instance or collection within a success payload -[IsLanguageDependent](./Org.OData.Core.V1.xml#L347:~:text=Properties and terms annotated with this term are language-dependent -[RequiresType](./Org.OData.Core.V1.xml#L359:~:text=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](./Org.OData.Core.V1.xml#L365:~:text=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](./Org.OData.Core.V1.xml#L378:~:text=Resource path for entity container child, can be relative to xml:base and the request URL -[DereferenceableIDs](./Org.OData.Core.V1.xml#L385:~:text=Entity-ids are URLs that locate the identified entity -[ConventionalIDs](./Org.OData.Core.V1.xml#L391:~:text=Entity-ids follow OData URL conventions -[Permissions](./Org.OData.Core.V1.xml#L398:~:text=Permissions for accessing a resource -[ContentID](./Org.OData.Core.V1.xml#L421:~:text=A unique identifier for nested entities within a request. -[DefaultNamespace](./Org.OData.Core.V1.xml#L429:~:text=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](./Org.OData.Core.V1.xml#L437:~:text=A value for this non-key property can be provided by the client on insert and remains unchanged on update -[Computed](./Org.OData.Core.V1.xml#L443:~:text=A value for this property is generated on both insert and update -[ComputedDefaultValue](./Org.OData.Core.V1.xml#L449:~:text=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](./Org.OData.Core.V1.xml#L455:~:text=Properties and terms annotated with this term MUST contain a valid URL -[AcceptableMediaTypes](./Org.OData.Core.V1.xml#L462:~:text=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 type -[MediaType](./Org.OData.Core.V1.xml#L471:~:text=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 type -[IsMediaType](./Org.OData.Core.V1.xml#L480:~:text=Properties and terms annotated with this term MUST contain a valid MIME type -[ContentDisposition](./Org.OData.Core.V1.xml#L487:~:text=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](./Org.OData.Core.V1.xml#L504:~:text=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](./Org.OData.Core.V1.xml#L510:~:text=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](./Org.OData.Core.V1.xml#L518:~:text=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](./Org.OData.Core.V1.xml#L524:~:text=The service will automatically expand this navigation property as entity references even if not requested with $expand=.../$ref -[MayImplement](./Org.OData.Core.V1.xml#L529:~:text=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](./Org.OData.Core.V1.xml#L559:~:text=Collection has a stable order. Ordered collections of primitive or complex types can be indexed by ordinal. -[PositionalInsert](./Org.OData.Core.V1.xml#L565:~:text=Items can be inserted at a given ordinal index. -[AlternateKeys](./Org.OData.Core.V1.xml#L570:~:text=Communicates available alternate keys -[OptionalParameter](./Org.OData.Core.V1.xml#L602:~:text=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](./Org.OData.Core.V1.xml#L618:~:text=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](./Org.OData.Core.V1.xml#L625:~:text=This bound action or function is only available on model elements annotated with the ExplicitOperationBindings term. -[ExplicitOperationBindings](./Org.OData.Core.V1.xml#L630:~:text=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](./Org.OData.Core.V1.xml#L642:~:text=A symbolic name for a model element -[GeometryFeature](./Org.OData.Core.V1.xml#L653:~:text=A [Feature Object](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) represents a spatially bounded thing -[PreviousState](./Org.OData.Core.V1.xml#L671:~:text=Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) or a [nested entity in a deep-update request](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateRelatedEntitiesWhenUpdatinganE) carrying this instance annotation
The presence or absence of this instance annotation does not alter the idempotent nature of a delta or deep-update message, nor does it alter the UPSERT nature of an added/changed or nested entity.
The recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT. -[AnyStructure](./Org.OData.Core.V1.xml#L700:~:text=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. -[Constructor](./Org.OData.Core.V1.xml#L710:~:text=On success the annotated action creates a new entity +[ODataVersions](./Org.OData.Core.V1.xml#L69:~:text=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](./Org.OData.Core.V1.xml#L73:~:text=Service-defined value representing the version of the schema. Services MAY use semantic versioning, but clients MUST NOT assume this is the case. +[Revisions](./Org.OData.Core.V1.xml#L77:~:text=List of revisions of a model element +[Description](./Org.OData.Core.V1.xml#L105:~:text=A brief description of a model element +[LongDescription](./Org.OData.Core.V1.xml#L110:~:text=A long description of a model element +[Links](./Org.OData.Core.V1.xml#L115:~:text=Link to related information +[Example](./Org.OData.Core.V1.xml#L129:~:text=Example for an instance of the annotated model element ([Example](./Org.OData.Core.V1.xml#L131)) +[Messages](./Org.OData.Core.V1.xml#L198:~:text=Instance annotation for warning and info messages +[ValueException](./Org.OData.Core.V1.xml#L242:~:text=The annotated value is problematic +[ResourceException](./Org.OData.Core.V1.xml#L256:~:text=The annotated instance within a success payload is problematic +[DataModificationException](./Org.OData.Core.V1.xml#L266:~:text=A modification operation failed on the annotated instance or collection within a success payload +[IsLanguageDependent](./Org.OData.Core.V1.xml#L306:~:text=Properties and terms annotated with this term are language-dependent +[RequiresType](./Org.OData.Core.V1.xml#L317:~:text=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](./Org.OData.Core.V1.xml#L321:~:text=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](./Org.OData.Core.V1.xml#L331:~:text=Resource path for entity container child, can be relative to xml:base and the request URL +[DereferenceableIDs](./Org.OData.Core.V1.xml#L336:~:text=Entity-ids are URLs that locate the identified entity +[ConventionalIDs](./Org.OData.Core.V1.xml#L340:~:text=Entity-ids follow OData URL conventions +[Permissions](./Org.OData.Core.V1.xml#L346:~:text=Permissions for accessing a resource +[ContentID](./Org.OData.Core.V1.xml#L369:~:text=A unique identifier for nested entities within a request. +[DefaultNamespace](./Org.OData.Core.V1.xml#L375:~:text=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](./Org.OData.Core.V1.xml#L380:~:text=A value for this non-key property can be provided by the client on insert and remains unchanged on update +[Computed](./Org.OData.Core.V1.xml#L384:~:text=A value for this property is generated on both insert and update +[ComputedDefaultValue](./Org.OData.Core.V1.xml#L388:~:text=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](./Org.OData.Core.V1.xml#L392:~:text=Properties and terms annotated with this term MUST contain a valid URL +[AcceptableMediaTypes](./Org.OData.Core.V1.xml#L397:~:text=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 type +[MediaType](./Org.OData.Core.V1.xml#L403:~:text=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 type +[IsMediaType](./Org.OData.Core.V1.xml#L409:~:text=Properties and terms annotated with this term MUST contain a valid MIME type +[ContentDisposition](./Org.OData.Core.V1.xml#L414:~:text=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](./Org.OData.Core.V1.xml#L427:~:text=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](./Org.OData.Core.V1.xml#L431:~:text=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](./Org.OData.Core.V1.xml#L436:~:text=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](./Org.OData.Core.V1.xml#L440:~:text=The service will automatically expand this navigation property as entity references even if not requested with $expand=.../$ref +[MayImplement](./Org.OData.Core.V1.xml#L444:~:text=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](./Org.OData.Core.V1.xml#L471:~:text=Collection has a stable order. Ordered collections of primitive or complex types can be indexed by ordinal. +[PositionalInsert](./Org.OData.Core.V1.xml#L475:~:text=Items can be inserted at a given ordinal index. +[AlternateKeys](./Org.OData.Core.V1.xml#L479:~:text=Communicates available alternate keys +[OptionalParameter](./Org.OData.Core.V1.xml#L507:~:text=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](./Org.OData.Core.V1.xml#L518:~:text=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](./Org.OData.Core.V1.xml#L523:~:text=This bound action or function is only available on model elements annotated with the ExplicitOperationBindings term. +[ExplicitOperationBindings](./Org.OData.Core.V1.xml#L527:~:text=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](./Org.OData.Core.V1.xml#L536:~:text=A symbolic name for a model element +[GeometryFeature](./Org.OData.Core.V1.xml#L545:~:text=A [Feature Object](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) represents a spatially bounded thing +[PreviousState](./Org.OData.Core.V1.xml#L561:~:text=Previous state of a resource whose changes are described by the [added/changed entity in a delta message](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_AddedChangedEntity) or a [nested entity in a deep-update request](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateRelatedEntitiesWhenUpdatinganE) carrying this instance annotation
The presence or absence of this instance annotation does not alter the idempotent nature of a delta or deep-update message, nor does it alter the UPSERT nature of an added/changed or nested entity.
The recipient of a delta message MAY use the instance annotation for optimization only; ultimately any received added/changed entity MUST be processed as an UPSERT. +[AnyStructure](./Org.OData.Core.V1.xml#L587:~:text=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. +[Constructor](./Org.OData.Core.V1.xml#L595:~:text=On success the annotated action creates a new entity -## [RevisionType](./Org.OData.Core.V1.xml#L100:~:text= -## [RevisionKind](./Org.OData.Core.V1.xml#L112:~:text= -## [Link](./Org.OData.Core.V1.xml#L139:~:text= -## [ExampleValue](./Org.OData.Core.V1.xml#L196:~:text= -## [PrimitiveExampleValue](./Org.OData.Core.V1.xml#L201:~:text= -## [ComplexExampleValue](./Org.OData.Core.V1.xml#L206:~:text= -## [EntityExampleValue](./Org.OData.Core.V1.xml#L211:~:text= -## [ExternalExampleValue](./Org.OData.Core.V1.xml#L216:~:text= -## [MessageType](./Org.OData.Core.V1.xml#L230:~:text= -## [MessageSeverity](./Org.OData.Core.V1.xml#L251:~:text= -## [*ExceptionType*](./Org.OData.Core.V1.xml#L278:~:text= -## [ValueExceptionType](./Org.OData.Core.V1.xml#L283:~:text= -## [ResourceExceptionType](./Org.OData.Core.V1.xml#L293:~:text= -## [DataModificationExceptionType](./Org.OData.Core.V1.xml#L306:~:text= -## [DataModificationOperationKind](./Org.OData.Core.V1.xml#L318:~:text= -## [Tag](./Org.OData.Core.V1.xml#L353:~:text= -## [Permission](./Org.OData.Core.V1.xml#L401:~:text= -## [ContentDispositionType](./Org.OData.Core.V1.xml#L492:~:text= -## [QualifiedTermName](./Org.OData.Core.V1.xml#L534:~:text= -## [QualifiedTypeName](./Org.OData.Core.V1.xml#L538:~:text= -## [QualifiedActionName](./Org.OData.Core.V1.xml#L542:~:text= -## [QualifiedBoundOperationName](./Org.OData.Core.V1.xml#L546:~:text= -## [AlternateKey](./Org.OData.Core.V1.xml#L573:~:text= -## [PropertyRef](./Org.OData.Core.V1.xml#L578:~:text= -## [Dictionary](./Org.OData.Core.V1.xml#L589:~:text= -## [OptionalParameterType](./Org.OData.Core.V1.xml#L608:~:text=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. +[DefaultValue](./Org.OData.Core.V1.xml#L512:~:text=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](./Org.OData.Core.V1.xml#L635:~:text= -## [SimpleIdentifier](./Org.OData.Core.V1.xml#L646:~:text= -## [GeometryFeatureType](./Org.OData.Core.V1.xml#L657:~:text= -## [PreviousStateType](./Org.OData.Core.V1.xml#L681:~:text=
+ + + +