- From: Miles Sabin <miles@mistral.co.uk>
- Date: Thu, 11 Apr 2002 22:34:52 +0100
- To: <www-rdf-interest@w3.org>
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