Re: PROV Dictionary

HadEntityWithKey?

I also agree with the ternary relation solution

-Paolo

On 21/12/2012 08:19, Luc Moreau wrote:
> Hi Tom
> I agree with your analysis. Looks like we are back to a ternary relation.
> I would think about its name though. HadIndexedMember? HadKeyedMember?
>
> Professor Luc Moreau
> Electronics and Computer Science
> University of Southampton
> Southampton SO17 1BJ
> United Kingdom
>
> On 21 Dec 2012, at 06:14, "Tom De Nies" <tom.denies@ugent.be<mailto:tom.denies@ugent.be>> wrote:
>
>
> Hello all, thanks for your feedback so far.
>
> I think it's important to remark that hadMember for a Dictionary is fundamentally different than for Collection.
> To me, it's crucial that we associate the key with the membership relation, rather than with the entity, as Curt suggested.
> The suggestions using specialization seem like overkill to me, and will just throw off any users that were considering PROV-Dictionary.
> It's a pity really that hadMember can't have any additional attributes, even when we're designing an extension to PROV-DM, because for me, the following would be perfect:
>
> entity(d1, [prov:type="prov:Dictionary"])
> entity(e1)
> hadMember(d1, e1, [prov:key="k1"])
>
> If we can't do that, I suggest we introduce something along the lines of the following:
>
> entity(d1, [prov:type="prov:Dictionary"])
> entity(e1)
> hadKeyEntity(d1,  e1, [prov:key="k1"])
>
> and then add the following inference to the constraints:
> IF hadKeyEntity(d1,  e1, [prov:key="k1"]) THEN hadMember(d1, e1)
>
> Any thoughts on this?
>
> - Tom
>
>
> 2012/12/20 Stephan Zednik <zednis@rpi.edu<mailto:zednis@rpi.edu>>
> I believe Tim and myself had discussed a similar line of reasoning to what Curt is suggesting when we were trying to see how Dictionary membership could work in PROV-O (before Dictionary was split out into its own note).
>
> We were at the time trying to use a unified non-qualified membership relation that worked for dictionaries as well as general collections.  In PROV-O this lead to the question of where does the key information reside?
>
> Right now I like the idea of
>
> hadMember(d1, e1, "k1")
>
> The dictionary note can define the attribute prov:dictKey which is used in a membership relation when the collection is a dictionary.  We may want to define a new relation such as hadDictionaryMember( ) so we are not overloading the existing membership relation.
>
> I am still not completely sure about what to do with unqualified dictionary membership properties in PROV-O.  Perhaps one is simply not defined for dictionaries?
>
> --Stephan
>
> On Dec 20, 2012, at 8:24 AM, Luc Moreau <l.moreau@ecs.soton.ac.uk<mailto:l.moreau@ecs.soton.ac.uk>> wrote:
>
>> It would work, but feels heavy.
>>
>> I personally prefer the original design.
>>
>> Luc
>>
>> On 12/20/2012 03:17 PM, Curt Tilmes wrote:
>>> Specialization?
>>>
>>> entity(d1, [prov:type='prov:Dictionary'])
>>> entity(d2, [prov:type='prov:Dictionary'])
>>>
>>> entity(e1)
>>>
>>> specializationOf(e1_1, e1)
>>> entity(e1_1, [prov:key='k1'])
>>> hadMember(d1, e1_1)
>>>
>>> specializationOf(e1_2, e1)
>>> entity(e1_2, [prov:key='k2'])
>>> hadMember(d2, e1_2)
>>>
>>> Gets kind of ugly though..
>>>
>>> Curt
>>>
>>> On 12/20/2012 09:49 AM, Luc Moreau wrote:
>>>> Hi Curt,
>>>>
>>>> What if e1 belongs to two dictionaries,  with keys k1 and k2, respectively?
>>>>
>>>> Luc
>>>>
>>>> On 12/20/2012 02:44 PM, Curt Tilmes wrote:
>>>>> hadMember(c,e) can't have additional attributes or other arguments.
>>>>>
>>>>> You could do something like:
>>>>>
>>>>> entity(d, [prov:type='prov:Dictionary'])
>>>>> entity(e1, [prov:key='k1'])
>>>>> hadMember(d, e1)
>>>>>
>>>>> This adds prov:key to the 'prov:' namespace, but that should be ok,
>>>>> since we've said Notes can do so.
>>>>>
>>>>> We could make it a little more specific to Dictionaries with
>>>>> "prov:dictkey='k1'".
>>>>>
>>>>>
>>>>> I'm also not sure what to do with multiple membership like:
>>>>>
>>>>> d = [(k1, e1), (k2, e1)]
>>>>>
>>>>> (Just give it two "prov:key"s?)
>>>>>
>>>>> Curt
>>>>>
>>>>> On 12/20/2012 09:23 AM, Tom De Nies wrote:
>>>>>> Hello Luc,
>>>>>>
>>>>>> I understand your concern, and it's something we can address before
>>>>>> proceeding. During the last telecon, we motivated our desire to redesign
>>>>>> the original memberOf relation of Dictionary. Basically, we'd like
>>>>>> consistency with Collection membership.
>>>>>>
>>>>>> Would the notation hadMember(d1, e1, "k1") address you concern? (without
>>>>>> the brackets)
>>>>>> In essence, this adds one attribute to the Collection membership for
>>>>>> Dictionary. It also would mean minimal changes througout the document.
>>>>>>
>>>>>> Tom
>>>>>>
>>>>>> On Dec 20, 2012 3:07 PM, "Luc Moreau" <l.moreau@ecs.soton.ac.uk<mailto:l.moreau@ecs.soton.ac.uk>
>>>>>> <mailto:l.moreau@ecs.soton.ac.uk<mailto:l.moreau@ecs.soton.ac.uk>>> wrote:
>>>>>>
>>>>>>     Hi Tom and Sam,
>>>>>>
>>>>>>     Sorry for the delay.
>>>>>>     I have some concerns about the proposed membership relation.
>>>>>>
>>>>>>     PROV requires members of a collection to be entities.
>>>>>> http://www.w3.org/TR/2012/CR-prov-dm-20121211/#concept-collection
>>>>>>
>>>>>>     Given this, your relation
>>>>>>     hadMember(d, ("k1", e1))
>>>>>>     seems to indicate that ("k1",e1) is also an entity.
>>>>>>
>>>>>>     It's not how I had initially envisaged this to work. I see e1 as an
>>>>>>     entity
>>>>>>     belonging to the dictionary d, with "k1" it's key.
>>>>>>     So, in my view, we have:
>>>>>>     hadMember(d,e1)
>>>>>>     but not
>>>>>>     hadMember(d,("k1",e1))
>>>>>>
>>>>>>     If ("k1",e1) is an entity, what is its identifier?
>>>>>>
>>>>>>     Grammatically, hadMember(d,("k1",e1)) is not compatible with the
>>>>>>     prov-n notation, since the second argument of hadMember has to
>>>>>>     be a qualified name (the identity of the member).
>>>>>>
>>>>>>     To me, it's important that we address this issue, before going into
>>>>>>     a review.
>>>>>>
>>>>>>     Luc
>>>>>>
>>>>>>
>>>>>>     On 12/18/2012 04:03 PM, Tom De Nies wrote:
>>>>>>>     Specific questions we have for reviewers are:
>>>>>>>
>>>>>>>     1. Is the notation of Dictionary concepts clear & acceptable for
>>>>>>>     you? (in PROV-N and PROV-O)
>>>>>>>     2. Are the constraints acceptable, or are they too loose/too
>>>>>>> strict?
>>>>>>>     3. Are you happy with the solution to the issue regarding
>>>>>>>     completeness? (Tracing back to an EmptyDictionary)
>>>>>>>     4. Is the note ready to be published as FPWD?
>>>>>>>
>>>>>>>     We would like to end the internal review after the first week of
>>>>>>>     the new year.
>>>>>>>
>>>>>>>     Thanks everyone, and happy holidays!
>>>>>>>
>>>>>>>     Tom
>>>>>>>
>>>>>>>     2012/12/18 Sam Coppens Ugent <sam.coppens@ugent.be<mailto:sam.coppens@ugent.be>
>>>>>>>     <mailto:sam.coppens@ugent.be<mailto:sam.coppens@ugent.be>>>
>>>>>>>
>>>>>>>         Hello everybody,
>>>>>>>
>>>>>>>         The Dictionary Note
>>>>>>> (http://dvcs.w3.org/hg/prov/raw-file/default/dictionary/prov-dictionary.html)
>>>>>>>         has been finalised for review. Feedback on the note is welcome.
>>>>>>>         Could everybody also check the authors of the document? If
>>>>>>>         someone is missing, let us know.
>>>>>>>
>>>>>>>         Thanks a lot!
>>>>>>>
>>>>>>>         Best Regards,
>>>>>>>
>>>>>>>         Sam & Tom
>>>>>>     --
>>>>>>     Professor Luc Moreau
>>>>>>     Electronics and Computer Science   tel:+44 23 8059 4487<tel:%2B44%2023%208059%204487>
>>>>>> <tel:%2B44%2023%208059%204487>
>>>>>>     University of Southampton          fax:+44 23 8059 2865<tel:%2B44%2023%208059%202865>
>>>>>> <tel:%2B44%2023%208059%202865>
>>>>>>     Southampton SO17 1BJ email:l.moreau@ecs.soton.ac.uk<mailto:email%3Al.moreau@ecs.soton.ac.uk>
>>>>>> <mailto:l.moreau@ecs.soton.ac.uk<mailto:l.moreau@ecs.soton.ac.uk>>
>>>>>>     United Kingdomhttp://www.ecs.soton.ac.uk/~lavm<http://www.ecs.soton.ac.uk/~lavm>
>> --
>> Professor Luc Moreau
>> Electronics and Computer Science   tel:   +44 23 8059 4487<tel:%2B44%2023%208059%204487>
>> University of Southampton          fax:   +44 23 8059 2865<tel:%2B44%2023%208059%202865>
>> Southampton SO17 1BJ               email: l.moreau@ecs.soton.ac.uk<mailto:l.moreau@ecs.soton.ac.uk>
>> United Kingdom                     http://www.ecs.soton.ac.uk/~lavm
>>
>>
>>
>
>


-- 
-----------  ~oo~  --------------
Paolo Missier - Paolo.Missier@newcastle.ac.uk, pmissier@acm.org 
School of Computing Science, Newcastle University,  UK
http://www.cs.ncl.ac.uk/people/Paolo.Missier
PGP Public key: 0x45596549  - key servers: pool.sks-keyservers.net, subkeys.pgp.net, sks.mit.edu 

Received on Friday, 21 December 2012 09:19:13 UTC