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-728) A recursive hierarchy annotation may also contain a navigation property to the parent node


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

Michael Pizzo updated ODATA-728:
--------------------------------

    Proposal: 
Extend the RecursiveHierarchy term by a property ParentNavigationProperty of type Edm.NavigationPropertyPath. Added element surrounded by *:
      <Term Name="RecursiveHierarchy" Type="Aggregation.RecursiveHierarchyType" AppliesTo="EntityType ComplexType">
        <Annotation Term="Core.Description" String="Defines a recursive hierarchy." />
      </Term>

      <ComplexType Name="RecursiveHierarchyType">
        <Property Name="NodeProperty" Type="Edm.PropertyPath" Nullable="false">
          <Annotation Term="Core.Description" String="Property holding the hierarchy node value" />
        </Property>
        <Property Name="ParentNodeProperty" Type="Edm.PropertyPath" Nullable="false">
          <Annotation Term="Core.Description" String="Property holding the value of the parent node" />
        </Property>
        <Property Name="HierarchyLevelProperty" Type="Edm.PropertyPath" Nullable="true">
          <Annotation Term="Core.Description" String="Property holding the hierarchy level of the node" />
        </Property>
        *<Property Name="ParentNavigationProperty" Type="Edm.NavigationPropertyPath" Nullable="true">
          <Annotation Term="Core.Description" String="Property for navigating to the parent node" />
        </Property>*
        <Property Name="IsLeafProperty" Type="Edm.PropertyPath" Nullable="true">
          <Annotation Term="Core.RequiresType" String="Edm.Boolean" />
          <Annotation Term="Core.Description" String="Property indicating whether the node is a leaf of the hierarchy" />
        </Property>
      </ComplexType>

Ammendments: 
-Remove the term property "ParentNodeProperty"
-Make the ParentNavigationProperty required by changing the Nullable property to false.

  was:
Extend the RecursiveHierarchy term by a property ParentNavigationProperty of type Edm.NavigationPropertyPath. Added element surrounded by *:
      <Term Name="RecursiveHierarchy" Type="Aggregation.RecursiveHierarchyType" AppliesTo="EntityType ComplexType">
        <Annotation Term="Core.Description" String="Defines a recursive hierarchy." />
      </Term>

      <ComplexType Name="RecursiveHierarchyType">
        <Property Name="NodeProperty" Type="Edm.PropertyPath" Nullable="false">
          <Annotation Term="Core.Description" String="Property holding the hierarchy node value" />
        </Property>
        <Property Name="ParentNodeProperty" Type="Edm.PropertyPath" Nullable="false">
          <Annotation Term="Core.Description" String="Property holding the value of the parent node" />
        </Property>
        <Property Name="HierarchyLevelProperty" Type="Edm.PropertyPath" Nullable="true">
          <Annotation Term="Core.Description" String="Property holding the hierarchy level of the node" />
        </Property>
        *<Property Name="ParentNavigationProperty" Type="Edm.NavigationPropertyPath" Nullable="true">
          <Annotation Term="Core.Description" String="Property for navigating to the parent node" />
        </Property>*
        <Property Name="IsLeafProperty" Type="Edm.PropertyPath" Nullable="true">
          <Annotation Term="Core.RequiresType" String="Edm.Boolean" />
          <Annotation Term="Core.Description" String="Property indicating whether the node is a leaf of the hierarchy" />
        </Property>
      </ComplexType>



> A recursive hierarchy annotation may also contain a navigation property to the parent node
> ------------------------------------------------------------------------------------------
>
>                 Key: ODATA-728
>                 URL: https://issues.oasis-open.org/browse/ODATA-728
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData Extension for Data Aggregation
>    Affects Versions: V4.0_CS01
>         Environment: [Proposed]
>            Reporter: Gerald Krause
>             Fix For: V4.0_CSD03
>
>
> Consider a client processing entities according to their hierarchical structure imposed by the given hierarchy annotation. If the client wants to filter this entity set on some other property not related to the hierarchy, s/he wants to get all tree segments from the matching entities upwards to the root node. If the recursive hierarchy would also include a "parent" navigation property, this could be accomplished with a single request:
> GET Set?$filter=dataProp eq someValue&$select=nodeId,parentNodeId&$expand=parent($levels='max')
> In order to let clients detect the availability of such navigations, the existing RecursiveHierarchy term needs to be extended.



--
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]