- From: Paolo Missier <Paolo.Missier@ncl.ac.uk>
- Date: Thu, 19 Jan 2012 09:17:46 +0000
- To: Satya Sahoo <satya.sahoo@case.edu>
- CC: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>, Paolo Missier <paolo.missier@newcastle.ac.uk>, Luc Moreau <L.Moreau@ecs.soton.ac.uk>, "public-prov-wg@w3.org" <public-prov-wg@w3.org>
- Message-ID: <4F17DFBA.2080209@ncl.ac.uk>
Satya, but we don't have a notion of classes/instances in PROV. I remember this being discussed early on and dismissed. As a result, you can't use that framework so you can't make a distinction between the two cases. It may be in our heads, but it's not in the language, right? --Paolo On 1/19/12 1:04 AM, Satya Sahoo wrote: > Hi Stian, > Your example really helps in fleshing out the multiple issues that are unfortunately being mixed up (in my view), comments are inline: > > entity(customerOnRedChair, [prov:location="the red chair in the cafe"]) > > This is a "class" definition (defining a category of resources/entities - as used in maths (sets), logic etc.) > > entity(paoloInCafe) > entity(stianInCafe) > > These may be classes (with individuals corresponding to all the times that paolo or stian are in cafe) or individuals as required > by an application. > > entity(paolo) > entity(stian) > > These are all "individuals" (not a category of resources as "customerOnRedChair") - these are members of the sets/classes. > > I believe you mention this distinction between class and instances in one of your later mails. > > specializationOf(paoloInCafe, paolo) > specializationOf(stianInCafe, stian) > > I think this construct hides many complexities and is incorrect according well-defined specialization-generalization relationship > in logic, programming languages, maths etc. For example a person is a not a specialization of the same person in different > situations (and neither are the descriptions/records about that person) :) > > I agree with James that many of the examples discussed before your mail were referring to attributes descriptions and not entities. > > There are two ways of interpreting the above assertions: > a) when paoloInCafe is a class (described above) - then the above construct is incorrect as it is mixing "types" (asserting class > to be specialization of an individual) > > b) when paoloInCafe is an individual - then again the above construct is incorrect as specialization is asserted between classes > and not individuals > > alternateOf(paoloInCafe, customerOnRedChair) > alternateOf(stianInCafe, customerOnRedChair) > > > but we probably don't want to then infer: > alternateOf(paoloInCafe, stianInCafe) > > and certainly not: > alternateOf(paolo, stian) > > The above mentioned mixing of types paves the way the following (seemingly) incorrect inference. I disagree with Paolo that the > incorrect inference is due to absence of time from the above examples. > > Thanks. > > Best, > Satya > > .. neither did overlap the old characterisation intervals, and are > different 'things' in the world. > > > however, if Paolo and Stian did not sit anywhere else but in the red > chair, we can also have: > > > specializationOf(paoloInCafe, > customerOnRedChair)specializationOf(stianInCafe, customerOnRedChair) > this implies that for the duration of paoloInCafe, it was also > customerOnRedChair. > > -- > Stian Soiland-Reyes, myGrid team > School of Computer Science > The University of Manchester > > -- ----------- ~oo~ -------------- Paolo Missier - Paolo.Missier@newcastle.ac.uk, pmissier@acm.org School of Computing Science, Newcastle University, UK http://www.cs.ncl.ac.uk/people/Paolo.Missier
Received on Thursday, 19 January 2012 09:18:23 UTC