Uploaded image for project: 'OASIS Open Data Protocol (OData) TC'
  1. OASIS Open Data Protocol (OData) TC
  2. ODATA-1423

Check uniform handling of entities reached via navigation in responses

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V4.0_CS02
    • Fix Version/s: V4.0_CSD04
    • Component/s: Data Aggregation
    • Labels:
      None
    • Environment:

      Applied

    • Proposal:
      Hide

      1. Rephrase wording in section 3 to have clear definitions referenced throughout the text:

      • input set for the input of a transformation
      • output set for the result of a transformation
      • the final result of the $apply option is the output set of the last transformation

      2. Add general remark for the whole $apply section 3: Navigation properties in the final result set are carried over to the final result of the $apply option. Navigation properties in this final result can be further expanded using $expand.

      3. Section 3.1 and 3.12: Accompany "mental bridge" by more normative text.

      The necessary text changes are provided in this file, marked with the ID of this issue as comments.

      Show
      1. Rephrase wording in section 3 to have clear definitions referenced throughout the text: input set for the input of a transformation output set for the result of a transformation the final result of the $apply option is the output set of the last transformation 2. Add general remark for the whole $apply section 3: Navigation properties in the final result set are carried over to the final result of the $apply option. Navigation properties in this final result can be further expanded using $expand. 3. Section 3.1 and 3.12: Accompany "mental bridge" by more normative text. The necessary text changes are provided in this file , marked with the ID of this issue as comments.

      Description

      When a transformation adds entities reached via navigation to its result, the request must specifically ask to expand them in order to have them appear in the response.

      Example from ODATA-1409 that triggered the discussion: The join transformation in

      GET ~/Products?$apply=join(Sales as Sale) creates a Sale dynamic property with Sales instances as values which are entities. Another $expand=Sale is required to include these entities in the response.

      Cross-check this with other cases such that all behave in the same way:

      • transformation nest that can be used to add related entities to the input set
      • transformation groupby applied to single-valued navigation properties (see ODATA-971)
      • transformation aggregate on related entities (see ODATA-945)

        Attachments

          Activity

          gerald.krause1 Gerald Krause created issue -
          gerald.krause1 Gerald Krause made changes -
          Field Original Value New Value
          Description When a transformation adds entities reached via navigation to its result, the request must specifically ask to expand them in order to have them appear in the response.

          Example from ODATA-1409 that triggered the discussion: The join transformation in

          {{GET ~/Products?$apply=join(Sales as Sale}}) creates a {{Sale}} dynamic property with Sales instances as values which are entities. Another {{$expand=Sale}} is required to include these entities in the response.

          Cross-check this with other cases such that all behave in the same way:
           * transformation {{nest}} that can be used to add related entities to the input set
           * transformation {{groupby}} applied to single-valued navigation properties (see ODATA-971)
           * further?
          When a transformation adds entities reached via navigation to its result, the request must specifically ask to expand them in order to have them appear in the response.

          Example from ODATA-1409 that triggered the discussion: The join transformation in

          {{GET ~/Products?$apply=join(Sales as Sale}}) creates a {{Sale}} dynamic property with Sales instances as values which are entities. Another {{$expand=Sale}} is required to include these entities in the response.

          Cross-check this with other cases such that all behave in the same way:
           * transformation {{nest}} that can be used to add related entities to the input set
           * transformation {{groupby}} applied to single-valued navigation properties (see ODATA-971)
           * transformation {{aggregate}} on related entities (see ODATA-945)
          gerald.krause1 Gerald Krause made changes -
          Proposal 1. Rephrase wording in section 3 to have clear definitions referenced throughout the text:

          - input set for the input of a transformation
          - output set for the result of a transformation
          - the final result of the $apply option is the output set of the last transformation

          2. Add general remark for the whole $apply section 3: Navigation properties in the final result set are carried over to the final result of the $apply option. Navigation properties in this final result can be further expanded using $expand.

          3. Section 3.1 and 3.12: Accompany "mental bridge" by more normative text.


          gerald.krause1 Gerald Krause made changes -
          Status New [ 10000 ] Open [ 1 ]
          gerald.krause1 Gerald Krause made changes -
          Proposal 1. Rephrase wording in section 3 to have clear definitions referenced throughout the text:

          - input set for the input of a transformation
          - output set for the result of a transformation
          - the final result of the $apply option is the output set of the last transformation

          2. Add general remark for the whole $apply section 3: Navigation properties in the final result set are carried over to the final result of the $apply option. Navigation properties in this final result can be further expanded using $expand.

          3. Section 3.1 and 3.12: Accompany "mental bridge" by more normative text.


          1. Rephrase wording in section 3 to have clear definitions referenced throughout the text:

          - input set for the input of a transformation
          - output set for the result of a transformation
          - the final result of the $apply option is the output set of the last transformation

          2. Add general remark for the whole $apply section 3: Navigation properties in the final result set are carried over to the final result of the $apply option. Navigation properties in this final result can be further expanded using $expand.

          3. Section 3.1 and 3.12: Accompany "mental bridge" by more normative text.

          The necessary text changes are provided in this [file|https://www.oasis-open.org/apps/org/workgroup/odata/download.php/68370/ODATA-1423.docx], marked with the ID of this issue as comments.
          gerald.krause1 Gerald Krause made changes -
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Resolved [ 5 ]
          handl Ralf Handl made changes -
          Assignee Gerald Krause [ gerald.krause1 ]
          gerald.krause1 Gerald Krause made changes -
          Proposal 1. Rephrase wording in section 3 to have clear definitions referenced throughout the text:

          - input set for the input of a transformation
          - output set for the result of a transformation
          - the final result of the $apply option is the output set of the last transformation

          2. Add general remark for the whole $apply section 3: Navigation properties in the final result set are carried over to the final result of the $apply option. Navigation properties in this final result can be further expanded using $expand.

          3. Section 3.1 and 3.12: Accompany "mental bridge" by more normative text.

          The necessary text changes are provided in this [file|https://www.oasis-open.org/apps/org/workgroup/odata/download.php/68370/ODATA-1423.docx], marked with the ID of this issue as comments.
          1. Rephrase wording in section 3 to have clear definitions referenced throughout the text:

          - input set for the input of a transformation
          - output set for the result of a transformation
          - the final result of the $apply option is the output set of the last transformation

          2. Add general remark for the whole $apply section 3: Navigation properties in the final result set are carried over to the final result of the $apply option. Navigation properties in this final result can be further expanded using $expand.

          3. Section 3.1 and 3.12: Accompany "mental bridge" by more normative text.

          The necessary text changes are provided in this [file|https://www.oasis-open.org/apps/org/workgroup/odata/download.php/68407/ODATA-1423.docx], marked with the ID of this issue as comments.
          gerald.krause1 Gerald Krause made changes -
          Environment Applied
          handl Ralf Handl made changes -
          Status Resolved [ 5 ] Applied [ 10002 ]
          heiko.theissen Heiko Theissen made changes -
          Status Applied [ 10002 ] Closed [ 6 ]

            People

            • Assignee:
              gerald.krause1 Gerald Krause
              Reporter:
              gerald.krause1 Gerald Krause
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: