W3C home > Mailing lists > Public > semantic-web@w3.org > December 2006

Re: Can there be a URI for the concepts "I", "you", "this", "it", "here", "there", "now", etc.?

From: Joshua Tauberer <jt@occams.info>
Date: Mon, 18 Dec 2006 08:19:50 -0500
Message-ID: <45869576.6040003@occams.info>
To: John Black <JohnBlack@kashori.com>
CC: semantic-web@w3.org

John Black wrote:
> Are the following URI allowable according to web and semantic
> web standards? Are they ambiguous? Are they useful? In each case,
> the referent would depend on the context of the use[1] of the URI.
> http://kashori.com/ontology/indexicals.owl#I
> http://kashori.com/ontology/indexicals.owl#you
> http://kashori.com/ontology/indexicals.owl#this
> http://kashori.com/ontology/indexicals.owl#it
> http://kashori.com/ontology/indexicals.owl#here
> http://kashori.com/ontology/indexicals.owl#there
> http://kashori.com/ontology/indexicals.owl#now

I think one of the major benefits of RDF is that applications completely
oblivious to any schemas can still at least make one conclusion about
URIs, which is that if two documents use the same URI, they are
referring to the same thing.  Context-dependent URIs break this.  It
might be fine in some cases, but in general it would break the principle
that <indexicals.owl#I> refers to the very same thing no matter where it
appears.

> Therefore they would only be of use if they could be embedded in a
> structure that specified a context.

That would be fine, except afaik the only way to publish a triple in an
embedded context is with N3 formulas.  You can't, for instance, create
an embedded context in RDF/XML.  (It wouldn't be sufficient to add a
triple to an RDF/XML document to say "hey, this is one of those
documents where you interpret <indexicals.owl#I> as ME" because it
doesn't solve the problem that oblivious applications won't know to do
that.)

But, there is a way to get around these problems, which is to use some
indirection.  Actually, that actually parallels the real-world side of
things.  That is, we're not all named "I" (in the sense that a URI is a
name for something).  "I" is really a function from a context to an
individual.  The closest thing to a function in RDF is a predicate, so
you could do this (in N3):

<> indexicals:isBeingReadBy _:you .
<> indexicals:isBeingReadAtLocation _:here .
(then you go on to make assertions about _:you and _:here.)

where <> is the URI for the document itself, and _:you and _:here are
bnodes.  Like this, an application isn't going to make the mistake that
the same person is the "I" of every document.  Here it says "someone is
reading the document", and just when the applications understands
indexicals:isBeingReadBy it can say "Oh, and _:you is actually me!".

(I'm not positive that that actually solves every problem, but it seems
to be a step in the right direction.)

-- 
- Josh Tauberer

http://razor.occams.info

"Yields falsehood when preceded by its quotation!  Yields
falsehood when preceded by its quotation!" Achilles to
Tortoise (in "Gödel, Escher, Bach" by Douglas Hofstadter)
Received on Monday, 18 December 2006 13:20:10 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 07:41:54 UTC