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

Re: PROV-ISSUE-104 (time-class): How to relate start/end time to PE, use, generation, etc [Formal Model]

From: Paul Groth <p.t.groth@vu.nl>
Date: Fri, 14 Oct 2011 05:49:22 +0200
Message-ID: <35793C2F-E0FB-49EE-AC2A-4EFD3B3BA26C@vu.nl>
CC: "Groth, P.T." <p.t.groth@vu.nl>, Provenance Working Group WG <public-prov-wg@w3.org>
To: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
This is a good start:

But how is for example wasGeneratedAt associated with a particular process execution generated pair. Or do we assume that two such edges shouldn't occur?

I guess this done through the blank node in the used example is that correct?

Thanks for this 
Paul

On Oct 14, 2011, at 1:30, Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk> wrote:

>> On Thu, Oct 13, 2011 at 17:49, Paul Groth <p.t.groth@vu.nl> wrote:
>> 
>>> I was wondering if examples of time could be put in the PROV-O Crime
>>> Example. Like they are in PROV-DM.
>>> 
>>> It would be cool to see how we can put times against:
>>> 
>>> used,
>>> wasGeneratedBy
>>> Provenance Execution.
> 
> I threw together one suggestion on how to do it using a few new properties:
> 
> http://dvcs.w3.org/hg/prov/file/tip/ontology/components/Time.ttl
> 
> declares:
> 
>  prov:startedAt
>  prov:endedAt
>  prov:assumedRoleAt
>  prov:wasGeneratedAt
> 
> 
> For example, from
> http://dvcs.w3.org/hg/prov/file/285b39f7ea5f/ontology/components/Time/example-1.ttl
> 
> # start/end
> :pe1 a prov:ProcessExecution ;
>    prov:startedAt :tA ;
>    prov:endedAt :tB .
> :tA a prov:Time .
> :tB a prov:Time .
> 
> 
> # generation time
> :e1 a prov:Entity ;
>    prov:wasGeneratedBy :pe1 ;
>    prov:wasGeneratedAt :tC .
> :tC a prov:Time .
> 
> 
> # used time
> :pe2 a prov:ProcessExecution ;
>    prov:used [
>        a prov:EntityInRole;
>        prov:assumedBy :e1;
>        prov:assumedRoleAt :tD
>    ] .
> :tD a prov:Time .
> 
> 
> # controlled time
> :a1 a prov:Agent .
> :tE a prov:Time .
> :pe2 prov:wasControlledBy [
>        a prov:EntityInRole, prov:Agent;
>        prov:assumedBy :a1;
>        prov:assumedRoleAt :tE;
>    ] .
> 
> 
> You can from this of course also specify generation using EntityInRole
> and assumedRoleAt - but as an entity can only be generated once
> (right?) we might as well just say prov:wasGeneratedAt.
> 
> 
> 
> Note to self:
> Allow intervals for role/use/control? - (prov:assumedRoleStart and
> prov:assumedRoleEnd)?
> Sounds like special cases of characterisation intervals..
> prov:startedAt and prov:endedAt could also be used with prov:Entity ?
> 
> 
> 
> I looked at the crime file example, and did:
> 
> http://dvcs.w3.org/hg/prov/file/285b39f7ea5f/ontology/components/Time/example-2-crimefile.ttl
> 
> .. but it does not really say much about time at all:
> 
> 
> #processExecution(pe1,add-crime-in-london,t+1,,[])
> :pe1 a prov:ProcessExecution, cf:FileAppending ;
>    prov:startedAt :t1 .
> 
> #processExecution(pe2,email,t+2,,[])
> :pe2 a prov:ProcessExecution, cf:Emailing ;
>    prov:startedAt :t2 .
> 
> 
> 
> So here's a practical example of how to do an extension, for instance
> using OWL Time:
> 
> http://dvcs.w3.org/hg/prov/file/285b39f7ea5f/ontology/components/Time/example-3-extension.ttl
> 
> Including the simplest case without using the subclasses:
> 
> # Lazy straight forward version - no declared subclasses
> :pe0 a :ProcessExecution ;
>    prov:startedAt [
>        # a prov:Time, time:Instant ;
>        time:inXSDDateTime "2011-12-24T14:24:05Z"
>    ] ;
>    prov:endedAt [
>        time:inXSDDateTime "2011-12-25T01:41:54Z"
>    ] .
> 
> 
> 
> 
> -- 
> Stian Soiland-Reyes, myGrid team
> School of Computer Science
> The University of Manchester
Received on Friday, 14 October 2011 03:50:00 GMT

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