- From: Joshua Tauberer <jt@occams.info>
- Date: Mon, 18 Dec 2006 08:19:50 -0500
- 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