PROV-ISSUE-643 (TomDN): Include additional constraint hadMember implies hadDictionaryMember with unknown key [PROV-DICTIONARY]

PROV-ISSUE-643 (TomDN): Include additional constraint hadMember implies hadDictionaryMember with unknown key [PROV-DICTIONARY]

http://www.w3.org/2011/prov/track/issues/643

Raised by: Tom De Nies
On product: PROV-DICTIONARY

Originally raised by Stian in his review, but agreed to postpone to next draft.

Should we add the following constraint?
IF hadMember(d, e) and 'Dictionary' \in typeOf(d) THEN hadDictionaryMember(d, e, "k") with k and unknown key.

In Stian's original email:
Also I don't quite understand this.  So a prov:Dictionary kind of
collection can have members that don't have keys?

entity(d, [prov:type='prov:Dictionary' ])
// implies:
entity(d, [prov:type='prov:Collection ])

hadDictionaryMember(d, e1, "k1")
// implies:
hadMember(d, e1)

// But what if we also see?
hadMember(d, e3)
// are you saying this would NOT imply the below?
hadDictionaryMember(d, e3, ?unknownKey)

If so then I am a bit confused - a prov:Dictionary to be useful should
be a constrained prov:Collection in which every member is associated
with a key. This should be added to the Conceptual Definition of
Dictionary above.

If there is no such implication (of course the key is unknown until
stated otherwise), I am not sure in which cases such a data type could
be useful. It would be like describing an array type of collection,
but where some items are allowed to not have a position.  (which is
quite different from saying they have an unknown position!)

Received on Thursday, 7 March 2013 11:02:47 UTC