- From: Khalid Belhajjame <Khalid.Belhajjame@cs.man.ac.uk>
- Date: Mon, 24 Oct 2011 17:35:18 +0100
- To: Khalid Belhajjame <Khalid.Belhajjame@cs.man.ac.uk>
- CC: Daniel Garijo <dgarijo@delicias.dia.fi.upm.es>, Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>, Luc Moreau <L.Moreau@ecs.soton.ac.uk>, public-prov-wg@w3.org
- Message-ID: <4EA593C6.6040202@cs.man.ac.uk>
On 24/10/2011 16:54, Khalid Belhajjame wrote: > On 24/10/2011 16:49, Daniel Garijo wrote: >> Yes, Khalid, but if you have the same entity used 2 times by >> different process executions >> with the same role, you would also need 2 different EntityInRole. > Yes, if the same entity play two different roles w.r.t. the same > process execution, then we need to create two different EntityInRoles. I meant if the same entity plays the same role in 2 different process executions, then we need to create two different entityInRoles. khalid > >> >> Imagine that pe1 uses e1Input1 (entity e1 with role: Input1) at time t1. >> According to our current modeling, we would assert t1 to the >> entityInRole (with hasTemporalValue). >> >> If some time later we execute another p2 that uses e1 with the same >> role at time t2, we cannot use e1Input1, >> because it has already associated t1. That is why we would need >> e1Input1' (a new EntityInRole instance). >> >> But I remember we already discussed this with Satya :S >> It seems that we should make it clear somewhere, since people are >> getting confused. > Yes, I agree. We need to write it down. It is probably not the most > elegant solution, but it is a solution that works :-) > > khalid > >> >> Best, >> Daniel >> >> 2011/10/24 Khalid Belhajjame <Khalid.Belhajjame@cs.man.ac.uk >> <mailto:Khalid.Belhajjame@cs.man.ac.uk>> >> >> On 24/10/2011 15:44, Stian Soiland-Reyes wrote: >> >> On Mon, Oct 24, 2011 at 12:07, Luc >> Moreau<L.Moreau@ecs.soton.ac.uk >> <mailto:L.Moreau@ecs.soton.ac.uk>> wrote: >> >> >> That's exactly the point, time is associated with >> generation/use, not >> entities. >> >> But as we have not (as of yet) made a deliberate n-ary >> relationship >> Generation or Use class in PROV-O - so prov:wasGeneratedAt is >> associated with an Entity (as it can only be generated once >> within an >> account) and prov:assumedRoleAt with an EntityInRole (as it >> can only >> be prov:wasASsumedBy one Entity). >> >> >> To be fair this is not a direct mapping with PROV-DM, because >> it would >> allow the same entity-in-role to be prov:used by two >> different PEs - >> the prov:assumedRoleAt would only record time of the first >> such use. >> On the other hand a PE could actually be using the entity several >> times, and we don't have a way to record each of these unless >> we do it >> as separate roles each time. (And still can't capture the >> duration of >> the use) >> >> >From my understanding that is not the case. If the same entity >> is used twice by two different process executions or by the same >> process execution, then we will have to create two >> EntityInRole(s) each associated with a different role. >> >> For example consider an entity e that is used by a process >> execution p such that the role of e w.r.t. p is r, and let p' be >> another process execution that uses e such that the role of e >> w.r.t. p' is r'. >> >> Using prov-o, we will have two entityinRoles that represent the >> entity e but with different roles. Consider that these >> entityinroles are er and er'. er and er' will have as properties >> the characterizing attributes of e. Additionally, er (resp. er') >> will have the role property r (resp. r'). >> >> Khalid >> >> >> >> >> >> >> >
Received on Monday, 24 October 2011 16:35:50 UTC