RE: Documents, Cars, Hills, and Valleys

Sandro Hawke wrote,
>  4.  An HTTP URI identifies both a thing *and* a (mutable) 
>      collection of information about the thing.  Disambiguation is 
>      done on a property-by-property basis.
>
>      Example:  <http://www.w3.org/Consortium/> :includes {
>                   <http://www.w3.org/Consortium/> :founder :TimBL }.
>
>      Since RDF does not allow a symbol's denotation to be ambiguous,
>      "http://www.w3.org/Consortium/" must denote one thing.  And it
>      can, although it is hard for me to conceptualize.  The thing is
>      an instance of some class class which is a union of the class
>      Consortium and the class Web Page.  Multiple inheritence is
>      either very ugly or very elegant. As "Miles Sabin"
>      <msabin@interx.com> says:
>      > Here's another analogy. If I show you a photograph of the 
>      > Eiffel Tower and ask you "What's that?", then I think that 
>      > either of these two answers would be acceptable,
>      > *  It's the Eiffel Tower.
>      > *  It's a photograph of the Eiffel Tower.
>
>      Moving this natural human ambiguity into the RDF space is
>      challenging, but probably possible.

I'm quite well aware that what follows is going to go down like a
lead balloon, but ...

I wonder if we can get rid of that ugliness, meet your challenge, and 
simultaneously reconcile #2 and #3. Please take a deep breath while I 
break both the syntax and semantics of RDF ;-)

Suppose we where to introduce a new term forming operator "qua" which
takes a (possibly ambiguous, hence denotationless) URI and a predicate 
onto a new anonymous resource, eg.

  <http://www.w3.org/Consortium/> qua :WebSite
  <http://www.w3.org/Consortium/> qua :Organization

Think of qua as a disambiguation operator.

Now we can reformulate #4 as,

 (<http://www.w3.org/Consortium/> qua :WebSite) :includes {
   (<http://www.w3.org/Consortium/> qua :Organization)
      :founder :TimBL }.

Now compare this with #2,

  <http://www.w3.org/Consortium> :includes { 
    <http://www.w3.org/Consortium#W3C>
      :founder :TimBL }

and #3,

  <http://www.w3.org/Consortium/formalInfo> :includes { 
    <http://www.w3.org/Consortium>
      :founder :TimBL }

If you squint at these hard enough and for long enough, you might
just be able to persuade yourself that they both represent remarkably
similar ways of encoding a term forming operator which does something 
a bit like the job that my qua operator does. In the first case
we have something like,

  f(URI, attribute) -> URI#attribute

and in the second,

  f(URI, attribute) -> URI/attribute

where in each case the URI argument might or might not be 
denotationless, but the value has a denotation.

In both cases what's happening is that the mechanics of URI syntax are
being exploited (abused?) to get a similar semantic effect (ie. going 
from a base URI to one of several distinct resources) to the one that 
an explicit qua gets you by good honest semantic innovation.

FWIW, many people would no doubt be quick to point out that, even if a 
qua operator looks fairly innocuous syntactically, it completely 
breaks the model theory. They'd be right, but I'm reasonably confident 
that it's fixable (Kit Fines work on aspect operators from the late 
70's would be a good place to start).

Cheers,


Miles

Received on Thursday, 11 April 2002 17:34:55 UTC