2.2 Message Syntax

This section includes the following:

Abstract Data Model (section 2.2.1) specifies the key concepts of the abstract data model that serve as the basis for the OData protocol. The subsequent sections each define mappings from the data model to the OData protocol.

Abstract Type System (section 2.2.2) specifies the abstract type system that is used to define the primitive types (such as String, Boolean, and so on) that are used by the OData protocol.

URI Format: Resource Addressing Rules (section 2.2.3) specifies a set of rules that are used to construct the URIs that identify each of the constructs in the data model, described in Abstract Data Model (section 2.2.1), and that are relevant to the OData protocol.

HTTP Methods (section 2.2.4) specifies how HTTP PATCH and MERGE are used to do partial updates in the OData protocol.

HTTP Header Fields (section 2.2.5) specifies the syntax for the HTTP headers that are defined in this document.

The HTTP payload format syntax in Common Payload Syntax (section 2.2.6) specifies how data that is described by using the abstract data model in Abstract Data Model (section 2.2.1) is mapped to the AtomPub, JSON, and Verbose JSON serialization formats for use in the payloads of the HTTP request types that are described in Request Types (section 2.2.7).

Request Types (section 2.2.7) specifies the types of requests that are defined by this document and how each request type is mapped to AtomPub request types as well as to constructs in the data model that is described in Abstract Data Model (section 2.2.1).

Response Types (section 2.2.8) specifies how error responses are mapped to XML and Verbose JSON formats.

Note All the example URIs and message payloads used in this section and throughout the remainder of this document are based on the sample conceptual schema definition language (CSDL) document in Appendix A: Sample Entity Data Model and CSDL Document (section 6).