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

Selected nav props in a defining query should specify interest in added/deleted links of a delta query

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V4.0_ERRATA03
    • Fix Version/s: V4.01_CSD02
    • Component/s: Protocol
    • Labels:
      None
    • Environment:

      Applied

    • Proposal:
      Hide

      Nav properties specified in the select list of a defining query are not used to define the scope or contents of the items being tracked. Clients can specify /$ref in $expand in order to specify interest in the set of related entities without interest in changes to the content of those related entities.

      Delta responses contain AddedLinks and DeletedLinks entries (or, for nested collections, (at least) entity references representing the current membership) for navigation properties expanded with $ref in the defining request.

      Show
      Nav properties specified in the select list of a defining query are not used to define the scope or contents of the items being tracked. Clients can specify /$ref in $expand in order to specify interest in the set of related entities without interest in changes to the content of those related entities. Delta responses contain AddedLinks and DeletedLinks entries (or, for nested collections, (at least) entity references representing the current membership) for navigation properties expanded with $ref in the defining request.
    • Resolution:
      Show
      https://www.oasis-open.org/committees/download.php/60256/odata-v4.01-wd02-part1-protocol-2017-03-10.docx

      Description

      Today we say that expanded properties in the defining query define the scope of the graph for which the client is interested in receiving changes.

      It could be that the client is interested in knowing about added/deleted links, but doesn't care about the contents of the entities related through those links.

      This could easily by supported by saying that navigation properties in the select list define the links that the client is interested in knowing about changes for. If the service represents deltas to related entities through an inline collection, that inline collection would contain (minimally) the entity references (or key properties of entities) representing the current membership.

        Attachments

          Activity

          Hide
          hubert.heijkers Hubert Heijkers (Inactive) added a comment -

          I'm getting the impression this issue is related to deltas and that its scope is as such but, to me at least, that is not clear from the description/proposal.

          If it is not, just in case, doesn't putting a navigation property in the $select list currently return the navigationLink? And what are we proposing we'd change that too exactly?

          Show
          hubert.heijkers Hubert Heijkers (Inactive) added a comment - I'm getting the impression this issue is related to deltas and that its scope is as such but, to me at least, that is not clear from the description/proposal. If it is not, just in case, doesn't putting a navigation property in the $select list currently return the navigationLink? And what are we proposing we'd change that too exactly?
          Hide
          mikep Michael Pizzo (Inactive) added a comment -

          Ha; yes, this was intended to be related to delta queries. I have (attempted to) clarify the title and description accordingly.

          Show
          mikep Michael Pizzo (Inactive) added a comment - Ha; yes, this was intended to be related to delta queries. I have (attempted to) clarify the title and description accordingly.
          Hide
          mikep Michael Pizzo (Inactive) added a comment -

          The question here is what to do if the service represents changes to related entities as inline collections. In that case, specifying a nav property in the $select list (but not $expand) presumably includes inline (minimally) the @odata.ids (or key properties) of the current membership.

          Show
          mikep Michael Pizzo (Inactive) added a comment - The question here is what to do if the service represents changes to related entities as inline collections. In that case, specifying a nav property in the $select list (but not $expand) presumably includes inline (minimally) the @odata.ids (or key properties) of the current membership.
          Hide
          mikep Michael Pizzo (Inactive) added a comment -

          Alternatively, client could specify $expand=nav/$ref to say they are interested in related links, but not the contents of those related entities.

          Show
          mikep Michael Pizzo (Inactive) added a comment - Alternatively, client could specify $expand=nav/$ref to say they are interested in related links, but not the contents of those related entities.
          Hide
          mikep Michael Pizzo (Inactive) added a comment -

          Updated proposal based on discussion 2017-1-19. Mike to check whether or not this still addresses scenario that caused issue to be open initially. Semantics of revised proposal are much better aligned, but possible concern is use of $expand=nav/$ref is a bit more esoteric, where use of a nav prop in a select list is very straight-forward.

          Show
          mikep Michael Pizzo (Inactive) added a comment - Updated proposal based on discussion 2017-1-19. Mike to check whether or not this still addresses scenario that caused issue to be open initially. Semantics of revised proposal are much better aligned, but possible concern is use of $expand=nav/$ref is a bit more esoteric, where use of a nav prop in a select list is very straight-forward.
          Hide
          mikep Michael Pizzo (Inactive) added a comment -

          Approved 2017-1-26

          Show
          mikep Michael Pizzo (Inactive) added a comment - Approved 2017-1-26
          Hide
          mikep Michael Pizzo (Inactive) added a comment -

          Application approved 2017-6-8.

          Show
          mikep Michael Pizzo (Inactive) added a comment - Application approved 2017-6-8.

            People

            • Assignee:
              mikep Michael Pizzo (Inactive)
              Reporter:
              mikep Michael Pizzo (Inactive)
            • Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: