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

On Wed, Sep 28, 2011 at 18:17, Paul Groth <p.t.groth@vu.nl> wrote:
> Formalizing Time is outside the scope of the working group. We need to recognize that not everything will be able to be expressed otherwise we won't have interoperability.

and..

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 can't see how to do it now. But maybe I'm just missing something?

As you raised this in a new thread, I continue here.

Note that since Issue-104 was raised PROV-DM have moved to a model of
talking of more abstract 'events' - which I interpret to just be like
milestones or markers, and prefer much more than the original
reference to xsd:dateTime.

I think from the discussions so far we've concluded that we can't
really say much about prov:Time (or prov:Event/prov:Instant, etc), as
it can be a blurry landscape dealing with time. This is a similar
approach that we have taken for prov:Recipe and prov:Location, they
are just extension points to be specialised by applications. So we
leave it as out of scope to define relations between prov:Time
instances, etc, but we probably want to propose a "default" extension
like owlTime for the basic uses of prov:Time where the finer details
are not important.


Even without an extension you can still do some useful inferencing if
you use the same instances for things that happen at the same time.
For instance:


processExecution(pe1, tA, tB)
used(pe1, e1, tC)
wasGeneratedBy(e2, pe1, tA)
wasGeneratedBy(e3, pe1, tA)
wasGeneratedBy(e4, pe1, tB)

As you see, e2 and e3 was generated at the "same time", immediately at
start of pe1, tA. (At this account's granularity level, of course). e4
on the other hand is generated at tB, at the same time as pe1
finishes.

pe1 used e1, but at time tC, which we don't know much about except it
is somewhere between tA and tB (inclusive), and so we don't have
enough information to determine that e2 could not have been affected
by e1 - as perhaps tC == tA.   But is it fair to assume that tA != tB,
e.g. that it has a duration > 0? pe1 could have been an "instantaneous
event" (like a logical transition), such as those described in
characterisation intervals of wasComplementOf.

Similar constraints about time is described for other relations in
prov-dm, which (with enough thinking) gives a partial ordering of the
events - however this order is never implicitly asserted. In the same
way entities have a "characterisation interval" - but this interval
can only be partially expressed through wasGeneratedBy time - there is
no wasDestroyedBy relation to say when the entity ceased to be.


I'll reply separately about the Crime example, as that has a more
practical side to it.

-- 
Stian Soiland-Reyes, myGrid team
School of Computer Science
The University of Manchester

Received on Thursday, 13 October 2011 21:48:52 UTC