W3C home > Mailing lists > Public > public-prov-wg@w3.org > September 2012

Re: PROV-ISSUE-447: subactivity relation [prov-dm]

From: Luc Moreau <l.moreau@ecs.soton.ac.uk>
Date: Wed, 12 Sep 2012 15:16:45 +0100
Message-ID: <EMEW3|2910db31095cff779f965945d05f72beo8BFGm08l.moreau|ecs.soton.ac.uk|5050994D.7040500@ecs.soton.ac.uk>
To: Daniel Garijo <dgarijo@delicias.dia.fi.upm.es>
CC: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>, Khalid Belhajjame <Khalid.Belhajjame@cs.man.ac.uk>, public-prov-wg@w3.org
Hi Daniel,

On 09/11/2012 04:24 AM, Daniel Garijo wrote:
> Hi all,
> sorry for jumping a bit late in the thread. It seems like the need for 
> activity composition
> is clear but everybody is agreeing in that we should not create a new 
> relation for modeling it.
> If that is the case, where should we address the subactivity 
> composition? In a best practice
> document? I like the dcterms:hasPart idea, but I would like to see it 
> written down as a recommendation
> or best practice somewhere.

you mean "as a suggestion" rather than "as a recommendation", I suppose.

It's not clear which document this could actually go in.  I think the 
best option is to maintain a FAQ page on
our wiki. It would then be reasonable to have an example using 


> Thanks,
> Daniel
> 2012/9/10 Luc Moreau <l.moreau@ecs.soton.ac.uk 
> <mailto:l.moreau@ecs.soton.ac.uk>>
>     Hi Stian,
>     I think you have drifted in your discussion.
>     This issue has been addressed in prov-constraints:
>     http://lists.w3.org/Archives/Public/public-prov-wg/2012Aug/0153.html
>     and voted before LC release.
>     generation-uniqueness is for a pair e,a.
>     However all generations for an entity should occur simultaneously.
>     Luc
>     On 09/06/2012 11:11 AM, Stian Soiland-Reyes wrote:
>>     It still raises the question about entities generated by both
>>     activities and the generation-uniqueness constraint.
>>     One way around it, as I've approached it for Taverna's workflow PROV,
>>     is to use prov:alternateOf between two entities, one per
>>     generation/invalidation. You can picture these entities as
>>     representing "The value as output gate X" and "The value at output
>>     gate Y" - almost like the old prov:EntityInRole. This is the same
>>     reasoning a washed car coming out of the last-stage
>>     activity(polishing) and thereby completing the activity(carWashing)
>>     can be seen as generated twice, once as "polishedCar" and once as
>>     "washedCar" - even though there is nothing happening between the two
>>     activities and the two entities are equivalent.
>>     If this is the recommended approach, then it would be good to have a
>>     property to clarify this is not just any odd alternate; say
>>     prov:alternateInSubActivity. (as a property on the prov:Entity or a
>>     subproperty of prov:alternateOf). Otherwise it gets tricky to query
>>     the provenance across, we don't want to follow every odd alternate up
>>     and down the trace. The strange thing here is that you don't**need**  to
>>     do the prov:alternateOf wrapping for usage or association. The
>>     question also then comes to which extend to the subactivities should
>>     always twin the entities or not.
>>     I don't particularly like that "work around" approach for
>>     subactivities, as it ends up making a verbose "twin world" with
>>     alternate identifiers (which you have to mint) - effectively making an
>>     inline bundle without clear boundaries.
>>     The second way, much simpler and my preference, is to allow multiple
>>     generation, but only as long as one activity is subactivity of the
>>     other. I guess we can't infer which one is the sub and which one is
>>     the super - so it would be a constraint rather than an inference, but
>>     this gets tricky with the open world assumption and the use of OR/NOT.
>>     (This can be solved by adding a prov:alternateActivityFor as a
>>     symmetric superproperty of prov:wasSubActivityOf, then we can instead
>>     of the constraint simply infer prov:alternateActivityFor on multiple
>>     generations. The semantics of prov:alternativeActivityFor would be
>>     particularly weak, similar to prov:alternativeOf.  )
>>     This is indeed the approach we have taken for Wf4Ever's 'simplified'
>>     workflow provenance model wfprov -
>>     http://wf4ever.github.com/ro/#wfprov
>>     Here wfprov:wasPartOfWorkflowRun is the workflow equivalent of
>>     wasSubActivityOf, and both are allowed to have the same artifact (ie.
>>     entity) as it's wfprov:wasOutputFrom. Because of this we currently we
>>     can't make wfprov:wasOutputFrom a subproperty of prov:wasGeneratedBy
>>     without violating PROV-Constraints. As we don't want to make a too
>>     verbose model, we are trying to avoid adding the equivalent of
>>     prov:alternateOf workaround I sketched above.
>     -- 
>     Professor Luc Moreau
>     Electronics and Computer Science   tel:+44 23 8059 4487  <tel:%2B44%2023%208059%204487>
>     University of Southampton fax: +44 23 8059 2865
>     <tel:%2B44%2023%208059%202865> Southampton SO17 1BJ email:
>     l.moreau@ecs.soton.ac.uk <mailto:l.moreau@ecs.soton.ac.uk> United
>     Kingdom http://www.ecs.soton.ac.uk/~lavm
>     <http://www.ecs.soton.ac.uk/%7Elavm>

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 Wednesday, 12 September 2012 14:20:24 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 12 September 2012 14:20:24 GMT