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

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 UTC