W3C home > Mailing lists > Public > public-prov-wg@w3.org > June 2012

Re: prov:Dictionary example - without the specs

From: Luc Moreau <L.Moreau@ecs.soton.ac.uk>
Date: Thu, 07 Jun 2012 21:51:13 +0100
Message-ID: <EMEW3|f52f0387d27f71fe61c4978e7252720co56LpK08L.Moreau|ecs.soton.ac.uk|4FD11441.7090606@ecs.soton.ac.uk>
To: Stephan Zednik <zednis@rpi.edu>
CC: Timothy Lebo <lebot@rpi.edu>, "public-prov-wg@w3.org WG" <public-prov-wg@w3.org>
Hi Stephan

That's not I wanted to say.

I can see how to define membership over the keys of a dictionary,
and membership over the values of a dictionary, but what is membership
for a dictionary?

Luc

On 07/06/12 21:39, Stephan Zednik wrote:
>
> On Jun 7, 2012, at 4:22 PM, Luc Moreau wrote:
>
>> Hi Tim,
>>
>> I don't think we have tried to define a membership relation over 
>> dictionary,
>> which could work for any collection.
>>
>> I don't know how to make a relation such as the one you suggest work
>> with the current dictionary definition.
>>
>> If you look at the specification of the Java Collection interface 
>> [1], it has a contains method
>> (similar to your Collection.hadMember).
>
> I would not use the java Collection interface as a reference.
>
> Methods on inserting/removing/testing membership of a collection are 
> different than a vocabulary which would be used to declaratively 
> describe collection (container?) membership.
>
> For example, the Java collection's containsValue method has very 
> different meaning than declaratively asserting membership.
>
> A more relevant reference would be the existing rdf container and 
> collection properties:
>
> http://www.w3.org/TR/rdf-primer/#containers (rdf:Bag, rdf:Seq, rdf:Alt)
> http://www.w3.org/TR/rdf-primer/#collections (rdf:List)
>
>>
>> However,  the Map interface [2] does not have this method, instead it 
>> has containsKey and
>> containsValue.
>>
>> So, are you suggesting an equivalent to containsValue relation?
>
> No, because containsValue is not a relation, but a method that tests 
> if a value is currently present in a given Map.  This is not a 
> declarative statement and would map to a query.
>
> --Stephan
>
>>
>> Luc
>>
>> [1] 
>> http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Collection.html
>> [2] http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Map.html
>>
>>
>> On 07/06/2012 19:34, Timothy Lebo wrote:
>>> Luc,
>>>
>>> On the call today, we set aside concerns about CompleteDictionary, 
>>> since there were not enough voiced objections.
>>>
>>> However, I still have concerns about DM's "too specific" restriction 
>>> on hadMember, which is between a Dictionary and a KeyValuePair.
>>>
>>> I've copied the essence of the concern from a previous email, below.
>>>
>>> For a model with interoperability as it's primary objective,
>>> I'm amazed that the DM precludes one from putting members into 
>>> Collections, and only permits users to put members into its 
>>> specialization(subclass), Dictionary.
>>>
>>> Why block this interoperability AND extensibility?
>>>
>>> I think the current modeling in PROV-O is a reasonable compromise to 
>>> "leave the option open" to extend Collection, while "maintaining the 
>>> scope" of this WG focusing on Dictionary.
>>>
>>> Thanks,
>>> Tim
>>>
>>>
>>>
>>> On Jun 6, 2012, at 3:53 PM, Timothy Lebo wrote:
>>>
>>>> Luc,
>>>>
>>>> On Jun 6, 2012, at 3:37 PM, Luc Moreau wrote:
>>>>
>>>>
>>>> I'm wondering what outstanding issue is in this thread.
>>>> Is it that you do not want to have a
>>>>
>>>>      prov:hadMember with domain Collection and range Entity,
>>>>
>>>> and instead restrain it to:
>>>>
>>>>      prov:hadMember with domain Dictionary and range KeyValuePair
>>>>
>>>> ?
>>>>
>>>> I advocate the former, and think that you want the latter.
>>>>
>>>> Regards,
>>>> Tim
>>>>
>>>>
>>>> [1] 
>>>> http://www.w3.org/mid/CAPRnXtm52YzmjmpO4=Cx+q0um+UMpNdwMdjS68XjMhBmDi1pYQ@mail.gmail.com
>>>
>
Received on Thursday, 7 June 2012 20:51:49 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:58:16 UTC