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

Re: ISSUE-385: hasProvenanceIn: finding a solution

From: Luc Moreau <L.Moreau@ecs.soton.ac.uk>
Date: Thu, 07 Jun 2012 10:29:01 +0100
Message-ID: <EMEW3|f91b50c59029e48a37c719dd9324f36co56AY608L.Moreau|ecs.soton.ac.uk|4FD0745D.6080804@ecs.soton.ac.uk>
To: public-prov-wg@w3.org
Hi Paolo,

What are the options we could realistically reach agreement on?

I see the bundle construct as some more-or-less minimalistic agreement,
which allows for a range of different implementations.  Overtime, usage of
this construct will tell us what other functionality to standardize.

Luc

On 06/07/2012 10:22 AM, Paolo Missier wrote:
> Luc
>
> just one comment below re: my last question
>
> On 6/7/12 10:12 AM, Luc Moreau wrote:
>> Hi Paolo,
>>
>> On 06/07/2012 09:51 AM, Paolo Missier wrote:
>>> 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?
>>
>> It's a good question. It's not specific to contextualizationOf, it's 
>> more about bundles.
>>
>> I am not sure we are dealing with "declarations".  But I can see this 
>> could be interpreted as such, with a language background.
>>
>> The rdf view of the world is ex:Bob denotes a resource, and rdf 
>> inference allows us to infer agent(ex:Bob).
>> Where does it live? Do we need to specify it? My view is that we 
>> should leave this choice to implementations.
>>
>>> or is it in /both/ ex:run1 and ex:run2 and just left implicit
>>
>> Yes, it's definitely an option, which would allow you to process 
>> bundles independently.
>> With a db/language hat, this would give you a kind of referential 
>> integrity within each bundle.
>>
>>
>>> . 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
>>
>> What is the answer when these assertions occur in the same bundle?
>> I think we conclude that specialization is anti symmetric:
>> http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-constraints.html#specialization-antisymmetric
>>
>>
>> In the specification we do not say whether we should merge bundles or 
>> not, and how
>> to do it, and whether that gives something that is meaningful.
>>
>> It is up to applications to handle these according to their context.
> fine, but I think we are walking a fine line where, as we know, we 
> stand back from any issue having to do with "merging" bundles, 
> contexts, etc., but at the same time we provide enough expressivity to 
> easily produce sets of provenance statements that /require/ some 
> further semantics even to decide whether they are acceptable as a 
> whole or not (anti-symmetry is but one specific example here).  I fear 
> that a PL person may stare at this with some puzzlement :-)
>
> -Paolo
>
>>
>> Luc
>>
>>>
>>> Thanks... -Paolo
>>
>> Luc
>

-- 
Professor Luc Moreau
Electronics and Computer Science   tel:   +44 23 8059 4487
University of Southampton          fax:   +44 23 8059 2865
Southampton SO17 1BJ               email: l.moreau@ecs.soton.ac.uk
United Kingdom                     http://www.ecs.soton.ac.uk/~lavm
Received on Thursday, 7 June 2012 09:29:35 UTC

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