OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] (ODATA-825) AnnotationPath expression: traversal of multiple collection-valued scalar or navigation properties


     [ https://issues.oasis-open.org/browse/ODATA-825?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Zurmuehl updated ODATA-825:
----------------------------------

    Proposal:   (was: Allow paths to contain an arbitrary number of single- or multi-valued navigation segments at arbitrary positions.

Change section 14.5.12, second paragraph after bullet list from

    If a path segment is the name of a navigation property that has a cardinality of many, the path MUST 
    NOT have any subsequent segments other than type casts, term casts, or a $count segment. If the last 
    segment is a $count segment, the path evaluates to the number of related entities.

to

    If a path segment is the name of a multi-valued structural or navigation property, the path identifies a collection of instances.
    This collection is obtained by evaluating the remaining path for each instance of the collection identified by the path up to the multi-valued property.
    If the remaining path evaluates to a collection of entities, the full path evaluates to the union of these collections.
    If the remaining path evaluates to a collection of primitive or complex type instances, the full path evaluates to the concatenation of these collections.
    If the remaining path evaluates to a single entity, the full path evaluates to the set of these entities.
    If the remaining path evaluates to a single primitive or complex type instance, the full path evaluates to the collection of these instances.

    If the last segment is a $count segment, the path evaluates to the number of instances identified by the preceding path.

Examples:
- Path="Items/Product" identifies a collection of products (entities)
- Path="Items/Product/Supplier/Address" identifies a collection of addresses (complex type instances)
- Path="Friends/EmailAddresses" identifies a collection of email addresses (strings)

Provide a similar example for <PropertyPath> traversing a containment relationship.

Accepted: https://www.oasis-open.org/committees/download.php/50840/odata-meeting-53_on-20130926-minutes.html#odata-481)

> AnnotationPath expression: traversal of multiple collection-valued scalar or navigation properties
> --------------------------------------------------------------------------------------------------
>
>                 Key: ODATA-825
>                 URL: https://issues.oasis-open.org/browse/ODATA-825
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData CSDL
>    Affects Versions: V4.0_ERRATA02
>         Environment: [Proposed]
>            Reporter: Ralf Handl
>            Assignee: Michael Pizzo
>             Fix For: V4.0_ERRATA03
>
>
> CSDL 14.5.12 restricts path expressions to contain at most one multi-valued navigation property which can only be followed by a single type cast or term cast.
> This is overly restrictive: drilling into a complex type path after a navigation is straight-forward, and even multiple multi-valued navigations could be resolved by building the union of all targeted collections.



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]