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-1071) Nullable Collection Navigation Property


    [ https://issues.oasis-open.org/browse/ODATA-1071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=66681#comment-66681 ] 

Ralf Handl edited comment on ODATA-1071 at 6/26/17 12:46 PM:
-------------------------------------------------------------

Navigation properties cannot contain duplicates, their value is a set of related entities. The same "target" entity cannot be related/associated twice to the same "source" entity. This holds for both containment and non-containment navigation properties.

An entity has an identity, whereas a complex type instance doesn't. So collections of entities are sets that cannot contain duplicates, whereas collections of complex type instances (or primitive type instances) are lists that can contain duplicates.

This was one of the reasons for keeping Property and NavigationProperty as separate concepts, see ODATA-188.


was (Author: handl):
Navigation properties cannot contain duplicates, their value is a set of related entities. The same "target" entity cannot be related/associated twice to the same "source" entity. This holds for both containment and non-containment navigation properties.

An entity has an identity, whereas a complex type instance doesn't. So collections of entities are sets that cannot contain duplicates, whereas collections of complex type instances (or primitive type instances) are lists that can contain duplicates.

This was one of the reasons to keep Property and NavigationProperty separate concepts, see ODATA-188.

> Nullable Collection Navigation Property
> ---------------------------------------
>
>                 Key: ODATA-1071
>                 URL: https://issues.oasis-open.org/browse/ODATA-1071
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Bug
>          Components: CSDL JSON , CSDL XML
>    Affects Versions: V4.0_CS02
>            Reporter: George Ericson
>            Assignee: George Ericson
>              Labels: Clarification, Errata
>             Fix For: V4.02_WD01
>
>
> There is the assertion:
> "Nullable MUST NOT be specified for a collection-valued navigation property, a collection is allowed to have zero items."
> A property, regardless of multiplicity consumes a slot in an instance (entity representation).  The slot has a sequence of values, depending on cardinality.  If the slot has no values, then the property is said to be null.  If an entry in a list of values has no value, then that entry is null.  So, you can both have a collection property that is null or a collection property consisting of a list of null values.  After much discussion, the DMTF specified the following for the values of a collection property (i.e. upper bound on multiplicity > 1)
> - NULL: The collection has no specified value.
> - [] : The collection has no elements (I.e. size = 0
> - [ Null ] : The collection has one element specified as having no value
> - [ "" ] : The collection has one element specified as having the empty string
> - [ "x", Null, "y",...] : The collection has multiple elements, some may be specified as having no value.
> The collection representing the list of values is not a separate modeled entity, rather it is a representation of the value list of the property itself.



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