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

Re: complementOf -> viewOf: proposed text

From: Graham Klyne <graham.klyne@zoo.ox.ac.uk>
Date: Fri, 06 Jan 2012 16:44:25 +0000
Message-ID: <4F0724E9.4050705@zoo.ox.ac.uk>
To: Khalid Belhajjame <Khalid.Belhajjame@cs.man.ac.uk>, Paolo Missier <Paolo.Missier@ncl.ac.uk>
CC: "public-prov-wg@w3.org" <public-prov-wg@w3.org>
Paolo,

I've now looked at the text and am happy with the direction, but have some 
niggles with the details...

First a nit: you say e1 and e2 provide a more *concrete* characterization than 
e1.  I would say more *specific* rather than more *concrete*.

For the rest, using Using Khalid's comments as a spingboard:

On 05/01/2012 18:43, Khalid Belhajjame wrote:
> Hi,
>
> The new Alternate and Specialization records seem to make sense to me.
>
> - Looking at the definitions of *specializationOf* and *alternateOf*, I for few
> seconds was wondering if it is a good idea to define a more general relationship
> that simply says that two entity records are representations of the same entity,
> without specifying if there is difference in abstraction or context. But, I
> changed my mind as a result, and I now think that the general relationship that
> I was looking for is *alternateOf* itself. Indeed, such a relationship seems to
> be usable in both cases, i.e., different abstractions and/or different contexts.
> In other words, what I am suggesting is that:
> specializationOf(e1,e2) implies alternateOf(e1,e2)
 >
 > Does that make sense?
 >

I think this depends on how the definitions are set up.

I see specializationOf as a primnitive using which alternativeOf can be defined:

    alternativeOf(a, b) == exists (c) :
                             specializationOf(a,c) and
                             specializationOf(b,c)

My preference is for specializationOf to be reflexive; i.e.

    forall (a) : specializationOf(a, a)

your result follows from this:

given:
   specializationOf(e1,e2) [per premise]
   specializationOf(e2,e2) [per reflexivity]

we set a=e1, b=e2, c=e2 to satisfy the RHS of alternativeOf definition, hence 
have alternativeOf(e1, e2) as you suggest.


*BUT*, this is not what the current text allows, since specializationOf is 
defined to be anti-symmetric, which means that it is also anti-reflexive:

   forall (a, b) : specializationOf(a,b) => not specializationOf(b,a)

setting b = a we see that specializationOf(a,a) must be false, since its truth 
would give rise to a contradiction.

Which in turn means that the above proof of your suggested inference does not hold.

...

So my question is this: is there any particular reason to require anti-symmetry 
of specializationOf?

(An alternative would be to modify the definition of alternativeOf, thus:

    alternativeOf(a, b) == exists (c) :
                             (specializationOf(a,c) or a = c) and
                             (specializationOf(b,c) or b = c)

Absent and particular reason to do otherwise, I'd rather go with the simpler 
definitions.)


> - *alternateOf* is transitive.

I think it should be, but let's see how this plays:

    alternativeOf(a, b) == exists (x) :
                             specializationOf(a,x) and
                             specializationOf(b,x)

    alternativeOf(b, c) == exists (y) :
                             specializationOf(b,y) and
                             specializationOf(c,y)

If we can show specializationOf(x, y) or specializationOf(y, x) then the result 
can be derived using transitivity of specializationOf and the definition of 
alternativeOf.

We have:
     specializationOf(b,x) and
     specializationOf(b,y)

Intuitively a specializationOf relation holds between x and y as their is a 
single non-branching path from b to the "top" of the specialization tree.  But I 
think we need more stated constraints to derive this.

Right now, I'm not sure how best to capture this, and am thinking that simply 
asserting the required relation would be easiest; i.e.

     specializationOf(b,x) and
     specializationOf(b,y)
  |=
     specializationOf(x,y) or specializationOf(y,x)

(If specialization is anti-reflexive, we need to add "or x = y" to the above 
constraint.)

Or maybe:

     specializationOf(b,x) and
     specializationOf(b,y)
  |=
     exists (z) : specializationOf(x,z) and specializationOf(y,z)

An alternative would be to not care about this, in which case alternativeOf is 
not inferrable from specializationOf.  Does this actually matter?

#g
--

> On 15/12/2011 15:25, Paolo Missier wrote:
>> Hi,
>>
>> in response to the comments about complementarity on the wiki and on the list,
>> we have prepared a revised version of the section,
>> where "complementarity" disappears in favour of "viewOf", and the definition
>> is hopefully simplified and more in line with the
>> expectations:
>> http://dvcs.w3.org/hg/prov/raw-file/default/model/ProvenanceModel.html#record-complement-of
>> (the anchor name hasn't changed :-))
>>
>> this is for feedback as per today's agenda
>>
>> atb -Paolo
>>
>>
>
>
Received on Friday, 6 January 2012 16:55:24 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:58:11 UTC