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

Hello Luc,

I'd support option 1. I think it has relevance to provenance, in that if you say A wasSubactivityOf B, then any information about the provenance of A is part of the provenance of B.

I can't recall why we said it was out of scope before. I think the term "wasSubtaskOf" may imply the wrong thing, i.e. that the statement is about what was planned rather than (or as well as) what occurred, and other vocabularies must already cover this non-provenance assertion.


Dr Simon Miles
Senior Lecturer, Department of Informatics
Kings College London, WC2R 2LS, UK
+44 (0)20 7848 1166

Provenance: The bridge between experiments and data:
From: Luc Moreau []
Sent: 04 September 2012 14:57
Subject: Re: PROV-ISSUE-447: subactivity relation [prov-dm]

Dear all,

I would like to kickstart discussion on this public comment.
This has already been asked on several occasions, and this has previously
been raised on the mailing list.

I essentially see two options:
1. We change the model and add a sub-activity relation.
2. We don't change the model, but we come with a good justification for not
     changing it.  In particular, we previously said this was out of
scope. Perhaps,
     we could point to some vocabularies already doing this.

What are your views?

On 06/07/12 18:12, Provenance Working Group Issue Tracker wrote:
> PROV-ISSUE-447: subactivity relation [prov-dm]
> Raised by: Timothy Lebo
> On product: prov-dm
> There is a thread discussing the issue raised by Sutra at
> The original email:
> On Fri, Jul 6, 2012 at 2:45 PM, Satrajit Ghosh <> wrote:
> hello,
> i was discussing this with luc and based on his feedback thought it might be
> useful to bring this up on the list.
> ----
> question:
> how do you encode that a certain activity "emailing a letter" happened
> during another activity "a meeting"?
> for example we conduct research studies/projects.
> activity(p1, [prov:type='ex:Project'])
> activity(p2, [prov:type='ex:MRIScanning', ex:session=1])
> activity(p3, [prov:type='ex:MRIScanning', ex:session=2])
> how would i encode that this activity p2 and p3 were conducted during p1?
> how would i encode p3 followed p2?
> luc's response:
> Regarding your question, there may be a few options:
> you could add time information to your activities. This will help you
> understand their ordering.
> Alternatively, if you want an explicit dependency in your graph, then p2 may
> generate something
> that starts p3, and/or is consumed by p3
> Finally, prov doesn't have relations between activities, to express their
> nesting, etc. It's important
> but we felt this is not specific to provenance, but to process executions.
> ----
> it's the last point on this response that i was not completely sure about.
> why "relations between activities" is "not specific to provenance, but to
> process executions."
> in the above example, one could say:
> wasSubtaskOf(p2, p1)
> wasSubtaskOf(p3, p1)
> wasFollowedBy(p2, p3)
> any clarification as to why such relations would be outside the realm of
> provenance would be much appreciated.
> cheers,
> satra

Professor Luc Moreau
Electronics and Computer Science   tel:   +44 23 8059 4487
University of Southampton          fax:   +44 23 8059 2865
Southampton SO17 1BJ               email:
United Kingdom           

Received on Tuesday, 4 September 2012 14:45:56 UTC