- From: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
- Date: Fri, 14 Oct 2011 00:30:21 +0100
- To: Paul Groth <p.t.groth@vu.nl>
- Cc: Provenance Working Group WG <public-prov-wg@w3.org>
> 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 Thursday, 13 October 2011 23:31:09 UTC