- From: Luc Moreau <L.Moreau@ecs.soton.ac.uk>
- Date: Tue, 25 Oct 2011 13:07:59 +0100
- 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 UTC