W3C home > Mailing lists > Public > public-prov-wg@w3.org > October 2011

Re: Prov-o call on Monday 12:00noon US ET

From: Luc Moreau <L.Moreau@ecs.soton.ac.uk>
Date: Tue, 25 Oct 2011 13:07:59 +0100
Message-ID: <EMEW3|5433def79967f10a7bf695e01624a1d2n9OD8308L.Moreau|ecs.soton.ac.uk|4EA6A69F.30908@ecs.soton.ac.uk>
To: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
CC: public-prov-wg@w3.org

Hi again,

Can you clarify the distinction between
prov:assumedBy
and
prov:wasComplementOf?

They look very similar. It's a relation that relates entities with 
different "attributes".

Luc


On 10/25/2011 11:07 AM, Stian Soiland-Reyes wrote:
> On Tue, Oct 25, 2011 at 10:21, Luc Moreau<l.moreau@ecs.soton.ac.uk>  wrote:
>
>    
>> Have you actually tried to write it in OWL (ie. ContextualisedEntity which
>> would be used for both
>> use and generation)? My experience with OPMO is that when
>> defining transitive closures (like wasDependentOn),  some unexpected
>> inference
>> were possible.  But maybe, it will work here.
>>      
> :e1 a prov:Entity .
>
> :e1X a prov:EntityInRole ;
>    prov:assumedBy :e1 ;
>    prov:assumedRole :X ;
>    prov:assumedAt :t1 ;
>    prov:wasGeneratedBy :pe1 .
>
> :pe2 a prov:ProcessExecution ;
>    prov:used :e1X .
>
> but now you can't tell if prov:assumedAt defines the generation time,
> the use time, or both.
>
>
> So I think we should do as Khalid says and add the constraints so it
> is not valid to reuse an EntityInRole in several
> use/generation/control relationships.
>
>
> :e1 a prov:Entity .
>
> :e1XGeneration a prov:EntityInRole ;
>    prov:assumedBy :e1 ;
>    prov:assumedRole :X ;
>    prov:assumedAt :t1 ;
>    prov:wasGeneratedBy :pe1 .
>
>
>
> :e1XUse a prov:EntityInRole ;
>    prov:assumedBy :e1 ;
>    prov:assumedRole :X ;
>    prov:assumedAt :t2 .
>
> :pe2 a prov:ProcessExecution ;
>    prov:used :e1X2 .
>
>
> The last one can be simplified with a blank node:
>
> :pe2 a prov:ProcessExecution ;
>    prov:used [
>        prov:assumedBy :e1 ;
>        prov:assumedRole :X ;
>        prov:assumedAt :t2 .
>    ] .
>
>
>
> Perhaps an additional constraint is that if
>    :e2 prov:assumedBy :e1
> then
>    :e2 prov:wasGeneratedBy :pe<=>  :e1 prov:wasGeneratedBy :pe
>
> (and implicitly any such EntityInRole are the same, merging roles and
> qualifiers)
>
>
>
> Example of the same entity playing two usage roles in same PE:
>
> :originalFile a prov:Entity .
>
> :moving a prov:ProcessExecution, :FileMoving ;
>    prov:used [
>      a prov:EntityInRole ;
>      prov:assumedBy :originalFile ;
>      prov:assumedRole :ReadFile ;
>      prov:assumedAt :t1 ;
>      # custom qualifiers
>      :readBytes 1234 ;
>      time:hasDurationDescription [
>          time:seconds 46
>      ]
>    ],
>    [
>      a prov:EntityInRole ;
>      prov:assumedBy :originalFile ;
>      prov:assumedRole :DeletedFile ;
>      prov:assumedAt :t2  ;
>      # qualifiers
>      :freedSpace 2048
>    ]
>
>
>
> Or in two different PEs (in a different account)
>
> :originalFile a prov:Entity .
>
> :copying a prov:ProcessExecution, :FileCopying ;
>    prov:used [
>      a prov:EntityInRole ;
>      prov:assumedBy :originalFile ;
>      prov:assumedRole :ReadFile ;
>      prov:assumedAt :t1 ;
>      # custom qualifiers
>      :readBytes 1234 ;
>      time:hasDurationDescription [
>          time:seconds 46
>      ]
>    ] .
>
>
> :deletion a prov:ProcessExecution, :FileDeleting ;
>    prov:used [
>      a prov:EntityInRole ;
>      prov:assumedBy :originalFile ;
>      prov:assumedRole :DeletedFile ;
>      prov:assumedAt :t2  ;
>      # qualifiers
>      :freedSpace 2048
>    ]
>
>
>
> Same entity both used and controlled by same PE in different roles:
>
>
> :me a prov:Entity, prov:Agent ;
>    prov:wasComplementOf<http://www.soiland-reyes.com/stian/#me>  .
>
> :makingSelfPortrait a prov:ProcessExecution, :Photography ;
>      prov:used [
>          a prov:EntityInRole ;
>          prov:assumedBy :me ;
>          prov:assumedRole :Subject ;
>          prov:assumedAt :t2
>      ] ;
>      prov:wasControlledBy [
>          a prov:EntityInRole ;
>          prov:assumedBy :me ;
>          prov:assumedRole :Photographer
>          prov:assumedAt :t1
>      ]
>
> :selfPortrait a prov:Entity ;
>    prov:wasDerivedFrom :me ;
>    prov:wasGeneratedBy :makingSelfPortrait .
>
> :t1 time:before :t2 .
>
>
> Note the times - I assume the role of photographer agent (e.g. picking
> up camera) before being the subject (focused in the view finder).
>
>
> I'll put these examples into components/EntityInRole/ in Mercurial.
>
> It was suggested in the telcon yesterday to add to the HTML an example
> with two roles assumed by same entity to clarify that it can assume
> many roles in different contexts.
>
>
>
>
>    

-- 
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 Tuesday, 25 October 2011 12:08:35 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 26 April 2012 13:06:46 GMT