- From: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
- Date: Fri, 6 Jul 2012 15:09:48 +0100
- To: Paul Groth <p.t.groth@vu.nl>
- Cc: Satrajit Ghosh <satra@mit.edu>, "public-prov-comments@w3.org" <public-prov-comments@w3.org>
I would at least be very interested in defining activity composition as part of PROV. I think as Tim points out there are many existing ways to model composition, but I don't think that means that PROV should ignore composition of activities and entities - it would be important to understand that for the outcome of the ex:Project there were many ex:MRIScannings - if we leave these to custom attributes, then those are separate islands in PROV. We did get rid of wasStartedByActivity for simplicity. Perhaps for wasInformedBy we can suggest some subtypes like prov:WasPartOf ? On Fri, Jul 6, 2012 at 2:14 PM, Paul Groth <p.t.groth@vu.nl> wrote: > Hi Satra, > > Thanks for the question. We actually have had several people ask a > similar question. So I'm also curious what the group will answer :-) > > For wasFollowedBy, we actually have the relation wasInformedBy which > you can use for activity ordering. > > I think we were reticent to start defining the composition of > activities because that could lead down the path of defining an entire > workflow or programming language, which is not in our charter or > something we would want to do. I guess the answer was that we were > worried about feature creep. Do we stop at just composition or would > other constructs be necessary? > > thanks > Paul > > On Fri, Jul 6, 2012 at 2:45 PM, Satrajit Ghosh <satra@mit.edu> 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 > -- Stian Soiland-Reyes, myGrid team School of Computer Science The University of Manchester
Received on Friday, 6 July 2012 14:10:35 UTC