Re: Resources and URIs

[cc www-archive]

> >As I pointed out in my proposed 2386 text
> Pointer? And was that 2396?
I'm not sure what you'll think of it.  My terminology may be
unpleasantly non-standard; I was trying to speak to the IETF audience
as I saw it.  No one (even myself) is taking the proposal seriously,
so don't bother picking on it.  :-)

> >, URIs do double duty: (1)
> >they are names, as you describe, and (2) they can be sentences in some
> >(usually very limitted and compact) KR language.
> Thats an interesting idea, names that contain an entire theory.

I like to think of all strings of bits sent as messages in terms of
their propositional content: what facts is the receiver imaged to
learn from these bits?  A URI isn't intrinsically a self-contained
message, but my idea here is that you can use it like one to learn a
little very-useful information about the denoted thing.

It's like in natural language calling you
   "Pat Hayes (a great guy, e-mail address"
which has a certain propositional content in addition to serving
as a relatively unambiguous name.

In RDF we can EITHER use a bNode OR use a URI with some URI
scheme which allows us to encode the same information.  The only
approved URI schemes only allow encoding very limitted knowledge about
the thing, but that doesn't matter at the RFC 2396 level.

N3 of course has terms like
        [ :color :red ]
which might be read "x, such that color(x, red)".   It's just
syntactic sugar for a new bNode and some triples merged in with the
graph.   But because you can use it anywhere you can use a URI, it
becomes more natural to think that a URI also is syntactic sugar for a
bNode and some triples merged in with the graph.

> >Having that additional knowledge about the thing, in the most common
> >case, allows a "sensing" "procedural attachment" to run (using
> >Benjamin Grosof's terminology
> Well, its universal terminology, actually, not Ben's particularly.

Thanks.  I was confused by remembering that "situated logic
programming" does not seem to be a universal term; Google only finds
it in Ben's work.

> >But the web server which responded to the HTTP GET does not need to be
> >somehow specially unique.  It's anything that answers to "".
> >(In fact, there are five or six physical machines which can and may
> >well answer that request.)  I'm not sure that's exactly the same sense
> >of having different interpretations as you mean in general, but it's
> >related.  If there is only one running process which may answer some
> >HTTP request, that's just because the network intrastructure has
> >enough knowledge to limit the correct interpretations.  Apache
> >normally has a large pool of waiting server processes; which one gets
> >picked is considered non-deterministic.  Isn't that just like having
> >multiple interpretations?
> Yes, though a rather special case. I didn't know that about Apache, 
> but of course it makes sense.
> But couldn't someone reasonably say that there was still a single 
> Apache 'server' in some (perhaps virtual) sense, even if the hardware 
> is organized cleverly inside it?. I mean,it wouldn't work if the URI 
> could vary between Apache and some site in Afghanistan, say. The 
> procedural attachment (web  fetch) has to be able to actually run, 
> which usually requires certain definite kind of information to be 
> present.

I think my point is that software often includes non-determinism,
where you ask for one of a set of things and you don't care which.
Should I consider this like x in
   exists x (x=A | x=B)
or like as a constant symbol which has a fairly unconstrained
interpretation?  I'm fuzzier on the difference than I'd like to be.

> >Similarly, the thing named by '<>' isn't
> >specially identified either.  In fact, as I think any discussion of
> >2396 quickly reveals, no one has any *precise* idea what is denoted by
> >any of these operational web-page URIs, yet we get along okay.
> Right; but the URI provides a fairly precise connection from my 
> browser to *something* elsewhere in the world, and that fact seems 
> kind of crucial.  Its a bit like using a cell phone: no wires, but 
> the number still gets me a unique phone ringing. It wouldn't work 
> without it. Maybe the mistake is calling that relationship 
> 'denotation' (?)
> >  It's
> >all about (as you say in general) communicating by passing sentences
> >which help constrain the possible interpretations.  When I use the
> >address information in a URI X, I'm just asking some agent (whose
> >identity I can only partially constrain) to perform some operation
> >involving X; there are no special guarantees that we really mean the
> >same thing by "X", but that's okay.
> >
> >Right?
> Well, Im not sure. I agree this picture makes sense, but I cant help 
> feeling that it omits something important. I mean, if this were all 
> there was to it, why do we need all that optic fiber and those 
> routers?

The optic fiber gets signals from one physical agent to another.  The
routers are physical agents which sense signals, deduce their meaning,
and sometimes effect sending more signals.  The meaning of these
signals, to the router, is in the domain of which packets (bit
strings) should be sent where.

Consider four physical agents: Alice, Bob, and Charlie each has an
optic fiber to Rudy, but they have no other path to each other.  Alice
wants to tell Bob that his building is on fire.  Let's assume all four
have agreed on physical-layer and link-layer protocols so they can
reliably send byte-strings to each other via the fibers.  And let's
assume they all agree to send RDF/XML in the byte-strings.  Alice and
Bob have also agreed that is the URI
for Bob's building and is the URI for
the class of things which are on fire.

So Alice wants to send Bob 

    <rdf:RDF xmlns:rdf=""
      <eg:BurningThing rdf:about="eg:bobs-building"/>

in a hurry, but she can only talk to Rudy!   What should she say to

In English she'd say "please tell Bob that...", but in our situation
we have two problems.  I'll ignore the quoting/reification/nesting
problem for now.  The other problem is: how does Alice identify Bob to
Rudy?  We never said Alice and Rudy shared a URI for Bob.  "Please
tell, um, that guy, um, you know....   that his building is on fire!"

But what if they did share a URI for Bob?  What if they both knew
eg:Bob was Bob.  Does that URI require any special shared
single-interpretation?  All the semantic subdividing games apply of
course: What if Bob were instantaniously replaced by a really good
duplicate?  Does it still identify Bob 10 minutes from now?  What if
Bob gets a haircut -- is he still Bob?  What if he gets a brain
transplant?  Alice and Rudy, whether they are people or machines, only
need their interpretations to be sufficently lined up for Bob to get
Alice's message, so he can get out of the building. 

    -- sandro

Received on Wednesday, 30 April 2003 14:12:21 UTC