- From: Timothy Lebo <lebot@rpi.edu>
- Date: Mon, 4 Jun 2012 08:46:11 -0400
- To: Luc Moreau <l.moreau@ecs.soton.ac.uk>
- Cc: W3C provenance WG <public-prov-wg@w3.org>
- Message-Id: <C1DB9DC6-0C88-4514-BF6F-741665105B58@rpi.edu>
Luc, On Jun 4, 2012, at 5:16 AM, Luc Moreau wrote: > Hi all, > > During this diamond jubilee WE, I had the opportunity to think about Tim and Simon's long emails. > > I agree with them that we have concepts of alternate and specialisation, and we want to reuse them. > > I also came to the conclusion that behind the hasProvenanceIn relation, what I really wanted was a form of alternate. But not what Tim or Simon are suggesting. > > The PROV data model has a shortcoming: the inability to identify something in some context. That's what I am trying to address here. > > … > The interpretation of > alternate(tool:Bob2, ex:Bob,ex:run2) > is that tool:Bob2 is the entity that share aspects of ex:bob as described by ex:run2. Conceptually, this could be done by substituting ex:Bob for tool:Bob2 in ex:run2. > > I appreciate that what I am describing here is not too distant from http://www.w3.org/TR/2011/WD-prov-dm-20111215/#record-complement-of, which had optional account, and was not received with enthusiasm, to say the least. > > Coincidentally, Paul shared this paper > http://ceur-ws.org/Vol-614/owled2010_submission_29.pdf which introduces rules of the kind > X counts as Y in context C > which bears some resemblance with what I am trying to argue for. > > So, my proposal is; > - drop hasProvenanceIn > - drop isTopicIn > - allow for the ternary form of alternate > > Tim and Simon approach by using two binary relations do not offer the same level of expressivity. > The also have a technological bias, as well: they require querying/reasoning facility. Therefore, > their suggestion is not suitable for a data model supposed to be technology neutral. A stab at: bundle tool:analysis01 alternate(tool:Bob2, ex:Bob,ex:run2) endBundle in PROV-O: tool:analysis01 { tool:Bob2 prov:alternateOf [ ## The use here of bnode is, for once, actually appropriate :-) a prov:Entity; prov:ContextualizedEntity; prov:identifier ex:Bob; ## The identifier that is used "over there" Can't use dcterms:identifier b/c that is a rdfs:Literal. prov:inContext ex:run2; ## "over there" Could prov:atLocation be reused? ]; } -Tim > > Luc > > On 31/05/2012 22:54, Luc Moreau wrote: >> >> All, >> >> To try and converge towards a solution, I am >> circulating an example using a ternary hasProvenanceIn. >> I would like to understand if and how we can make it work with >> a simpler relation. >> >> >> Two bundles ex:run1 and ex:run2 describe bob's role as a controller >> of two activities. Same bob, two different bundles. >> >> bundle ex:run1 >> activity(ex:a1, 2011-11-16T16:00:00,2011-11-16T17:0:00) //duration: 1hour >> wasAssociatedWith(ex:a1,ex:Bob,[prov:role="controller"]) >> endBundle >> >> bundle ex:run2 >> activity(ex:a2, 2011-11-17T10:00:00,2011-11-17T17:0:00) //duration: 7hours >> wasAssociatedWith(ex:a2,ex:Bob,[prov:role="controller"]) >> endBundle >> >> >> A performance analysis tool rates the performance of agents (this could be used >> to dispatch further work to performant agents, or congratulate them, etc). >> >> >> bundle tool:analysis01 >> >> agent(tool:Bob1, [perf:rating="good"]) >> hasProvenanceIn(tool:Bob1, ex:run1, ex:Bob) // Bob performance in ex:run1 is good >> >> agent(tool:Bob2, [perf:rating="bad"]) >> hasProvenanceIn(tool:Bob2, ex:run2, ex:Bob) // Bob performance in ex:run2 is bad >> >> endBundle >> >> The performance analysis tool has to rate two involvements of ex:Bob in two separate activities. >> Two specialized version of ex:Bob are defined: tool:bob1 and tool:bob2, with rating good and >> bad respectively. >> >> tool:Bob1 is linked to ex:Bob in run1, and tool:Bob2 is linked to ex:Bob in run2, with the following >> >> hasProvenanceIn(tool:Bob1, ex:run1, ex:Bob) >> hasProvenanceIn(tool:Bob2, ex:run2, ex:Bob) >> >> Nothing is expressed about ex:Bob in bundle tool:analysis01 (except that this is an alias >> for tool:Bob1 and tool:Bob2). >> >> It is suggested that the ternary relation could be replaced by >> isTopicIn(tool:Bob1, ex:run1) >> and >> specialization(tool:Bob1, ex:Bob). >> >> I don't understand the point of >> isTopicIn(tool:Bob1, ex:run1) >> since tool:Bob1 is not a topic in ex:run1. >> >> Also, we now seem to have made ex:Bob a topic of tool:analysis01, because >> the following expression. >> specialization(tool:Bob1, ex:Bob). >> >> >From tool:analysis01, where do I find provenance about ex:Bob? >> It look like this has become a dead end in this graph. >> >> Do I need to introduce: >> isTopicIn(ex:Bob, ex:run1) >> isTopicIn(ex:Bob, ex:run2)? >> >> >> So now we would have: >> isTopicIn(tool:Bob1, ex:run1) >> specialization(tool:Bob1, ex:Bob) >> isTopicIn(tool:Bob2, ex:run2) >> specialization(tool:Bob2, ex:Bob) >> isTopicIn(ex:Bob, ex:run1) >> isTopicIn(ex:Bob, ex:run2) >> >> Which means that: >> >> specialization(tool:Bob1, ex:Bob) >> isTopicIn(ex:Bob, ex:run2) >> >> ... would lead us to believe that good rating is due to slow performance. >> >> Can the proposer of the separate binary relations explain how this example can work? >> >> Thanks, >> Luc
Received on Monday, 4 June 2012 12:46:53 UTC