Message from "Giles Hogben" <giles.hogben@jrc.it>
> For example, you cannot say
> "http://www.rutgers.edu/~sgro/HTML_Documents/pipe.html contains a
> representation of a pipe."
> Or can you?
You can certainly say it in RDF if you keep that URI in quotes. You
can also do it using the URI as a logical symbol (the identifier for a
resource, put it <...> in n3), but if you do so, you'll have to use
different techniques, depending on who you follow.
I see four view points here:
1. An HTTP URI identifies a (mutable) sequence of bytes. (This view does
not support content-negotation, cookie dependence, etc. It's a
commonly held view, but not a serious contender, I think.)
Example: <http://www.w3.org/> :contentLengthDecimal "21465".
(The truth of this assertion depends on various content-negotiation
settings, and many other factors. The other approaches can
make this assertion of content-length without these problems.)
2. An HTTP URI identifies a (mutable) collection of information which can
be accessed using some knowledge representation language, like english
or RDF. The things named in the information are identified by other
identifiers. The transmitted expressions may contain information about the
identified collection itself (perhaps using the zero-length relative
URI).
Example:
<http://www.w3.org/Consortium> :includes {
<http://www.w3.org/Consortium#W3C> :founder :TimBL }.
(This asserts that an RDF encoding of the information at
http://www.w3.org/Consortium includes the given RDF triple.)
3. An HTTP URI identifies a thing about which some (mutable) information
may be available. The information itself is identified, if necessary,
with a different identifier. HTTP operations on the URI implicitely
access the collection of information.
Example:
<http://www.w3.org/Consortium/formalInfo> :includes {
<http://www.w3.org/Consortium> :founder :TimBL }.
(I'm making up ./formalInfo to identify the RDF model which is
serialized and sent to you when you GET /Consortium. Presumably
a get on /Consortium/formalInfo would get you some information about
the RDF model. Would *that* information be identified as
/Consortium/formalInfo/formalInfo?)
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 think there's a very important tactical situation here. #4 subsumes #2 and
#3, so if we want interoperation between systems made by believers in #2
(like TimBL) and those made by believers in #3 (like AaronSw, I think), we
have to use #4. In other words, if you don't like #4, you have to argue
against BOTH #4 and (#2 or #3), and win. #4 will win by default if
rough consensus is not reached on #2 or #3.
Maybe I should just ask -- what can we do to prevent people from writing RDF
in styles #3 and #4? If you're someone who does that or wants to do that,
how can we convince you not to? Should we just make two Semantic Webs and
see which one gets bigger? ugh!
-- sandro