Re: ISSUE-385: hasProvenanceIn: finding a solution

Hi,

Having finally caught up with this Jubilee-inspired thread (long live the Queen etc.):
I was happy when I first found the contextualization idea: http://lists.w3.org/Archives/Public/public-prov-wg/2012Jun/0064.html

I am still happy but I have questions re: the example below as well as the first one here: 
http://dvcs.w3.org/hg/prov/raw-file/default/model/working-copy/wd6-contextualization.html
My problem is that I "still" think in terms of languages with name declarations which occur within a scope. I suspect a new reader 
who is a programmer will try to interpret these examples similarly and will look for declaration/use pairs. So apologies if this is 
completely off the mark.
  In the first example here: http://lists.w3.org/Archives/Public/public-prov-wg/2012Jun/0064.html

bundle ex:run1
     activity(ex:a1, 2011-11-16T16:00:00,2011-11-16T17:00:00)  //duration: 1hour
     wasAssociatedWith(ex:a1,ex:Bob,[prov:role="controller"])
endBundle

bundle ex:run2
     activity(ex:a2, 2011-11-17T10:00:00,2011-11-17T17:00:00)  //duration: 7hours
     wasAssociatedWith(ex:a2,ex:Bob,[prov:role="controller"])
endBundle

the statement
agent(ex:Bob)
is missing. Where does it live?  (i.e, where is it "declared"?)  is it just in the default bundle /and/ implicit?
or is it in /both/ ex:run1 and ex:run2 and just left implicit. This is what appears from the rest of the example:

bundle tool:analysis01
     agent(tool:Bob1)
     contextualizationOf(tool:Bob1, ex:Bob, ex:run1)
     agent(tool:ratedBob1, [perf:rating="good"])
     specialization(tool:ratedBob1, tool:Bob1)

     agent(tool:Bob2)
     contextualizationOf(tool:Bob2, ex:Bob, ex:run2)
     agent(tool:ratedBob2, [perf:rating="bad"])
     specialization(tool:ratedBob2, tool:Bob2)
endBundle

so I am a bit confused.

Also in the example below:
    specializationOf(specific1,general1)
how do I know where to look for a "declaration" of general1?


I also have a more general comment regarding mutual consistency across bundles. What prevents two bundles from having references to 
each others' elements?  i.e.

bundle b1
    entity(foo)
    activity(a1)
    used(a1,foo)
    specializationOf(foo, bar)
endBundle

bundle b2
    entity(bar)
    activity(a2)
    used(a2, bar
    specializationOf(bar, foo)
endBundle

Thanks... -Paolo


On 6/6/12 10:22 PM, Luc Moreau wrote:
> Hi Tim,
>
> I didn't exactly understand it that way:
>
> bundle b1
>    entity(general1)
>    activity(a1)
>    used(a1,general1)
> endBundle
>
> bundle b2
>    entity(specific1)
>    activity(a2)
>    used(a2,specific1)
>    specializationOf(specific1,general1)
> endBundle
>
> bundle b3
>    entity(e)
>    contextualizationOf(e, general1, bundle1) // e presents the facet of general1 in bundle1
>    contextualizationOf(e, specific1, bundle2) // e also presents the facet of specific1 in bundle2
> endBundle
>
> In your rdf encoding,
> "tool:Bob1 in tool:analysis01 is a specialization of the thing with identifier ex:Bob over in bundle ex:run1".
> becomes
> "e in b3 is a specialization of the thing with identifier specific1 in bundle2" (1)
> and
> "e in b3 is a specialization of the thing with identifier general1 in bundle1" (2)
>
> I don't think that (1) holds since "e presents the facet of general1 in bundle1"
>
> Thoughts?
>
> Luc
>
>
>
>
> On 06/06/12 20:34, Timothy Lebo wrote:
>> (since identifiers are getting confusing, I'm rewriting my email and reorganizing the order of examples from top to bottom).
>>
>>
>> On Jun 6, 2012, at 3:14 PM, Timothy Lebo wrote:
>>
>>> On Jun 6, 2012, at 2:23 PM, Luc Moreau wrote:
>>
>>
>> Luc/DM's prov-n:
>>
>>
>>>>> bundle tool:analysis01     # found at http://dvcs.w3.org/hg/prov/raw-file/default/model/working-copy/wd6-contextualization.html
>>>>> contextualizationOf(tool:Bob1, ex:Bob, ex:run1)
>>>>> endBundle
>>
>> would get encoded in prov-o as:
>>
>>
>>>>> tool:analysis01 {
>>>>>     tool:Bob1
>>>>>         prov:specializationOf [
>>>>>               a prov:Entity;  prov:ContextualizedEntity;
>>>>>               prov:identifier  ex:Bob;
>>>>>               prov:inContext ex:run1;
>>>>>         ];
>>>>>     .
>>>>> }
>>
>> read "tool:Bob1 in tool:analysis01 is a specialization of the thing with identifier ex:Bob over in bundle ex:run1".
>>
>> would get re-encoded to prov-n as:
>>
>>>> contextualizationOf(anonymous, ex:Bob, ex:run1)
>>>> alternateOf(tool:Bob1,  anonymous )
>>
>>
>> Tim's response:
>>
>>
>>> Given your mapping back, I think I'm still okay.
>>>
>>> In my mapping, I'd just _name_ my ContextualizedEntity and use alternateOf instead of specializationOf.
>>>
>>> But why wouldn't it be specializationOf? Then, we get to "inherit" the characterization, which seemed to be your intent from the 
>>> beginning.
>>>
>>> Any way it falls from here, I think this is close enough for me to be content.
>>
>>
>>
>> -Tim
>>
>>
>>


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

Received on Thursday, 7 June 2012 08:51:32 UTC