-----Original Message-----
From: ext pat hayes [mailto:phayes@ai.uwf.edu]
Sent: 05 May, 2003 21:59
To: Stickler Patrick (NMP/Tampere)
Cc: Graham.Klyne@MIMEsweeper.com; sandro@w3.org
Subject: RE: Resources and URIs
-----Original Message-----
From: ext pat hayes [mailto:phayes@ai.uwf.edu]
Sent: 03 May, 2003 04:33
To: Stickler Patrick (NMP/Tampere)
Cc: Graham Klyne; Sandro Hawke
Subject: RE: Resources and URIs
...
Well, by uniqueness of interpretation, I have been meaning "agreement
about what the URI denotes".
How can we agree about what the URI denotes, without using the URI to refer to what it denotes? Now, how do we know what thing, in particular, we are talking about? An agreement that a URI denotes what it denotes, is not an agreement that there is a single thing that it MUST denote, that it is 'bound' to. Its just an agreement to treat it a a denoting symbol; and *that* hardly needs to be said or explicitly agreed to.
Here's where you lose me. The agreement about what a URI denotes is made outside the scope of
the SW machinery.
OK, now you have lost me. How is it made, that agreement? Here's some RDF, say, and Im a software agent reading it, and there's a URI in it that I have never seen before. You are telling me that there is a mapping from this URI to something unique, and this mapping was defined externally to the Web, and I have no way to access it? So whatever that agreement was, I wasn't party to it, and in fact I can't even think about it, I'm constitutionally incapable of thinking such advanced thoughts. Right? Well (sounds like a fantasy to me, but...), suppose there is such a mapping. It sure has got nothing to do with ME (Im still the agent) , right? I am probably incapable of even thinking about it in any way at all.
Right. SW agents cannot examine/test/see the actual mapping from the URI to the thing (at least
not at present). That mapping is established by social conventions between humans as they design
software and create RDF encoded knowledge.
So why is it so important that this mapping exist and be unique?
So that humans around the planet can share knowledge, and/or build systems/tools/applications that
share knowledge, where the expression of that knowledge has a consistent interpretation (English
meaning, not (necessarily) mathematical meaning).
If there is not (at least the presumption and goal of) a shared, agreed mapping from URIs to resources,
then arbitrary humans/systems cannot talk about the same things reliably.
It's more a practical issue rather than a technical issue. In order to communicate effectively, we need
to be referring to the same things by the names we are using. Otherwise, there is no actual communication,
only an exchange of symbols/statements/noise.
What would stop working if there were no such mapping? All the SW agents would go on doing what they do.
Technically, yes, but their practical value would be greatly, even completely, diminished.
You seem to want to have it both ways. On the one hand, this mapping is external to the Web, has nothing to do with any software;
It does have to do with software, in that because this mapping is external to the SW, and because ultimately (or ideally), it
must be a shared, agreed upon mapping, the software should reflect this in its behavior such that whenever it encounters
a given URI, it presumes that it maps/refers to the same thing. Since it can't test/explore the actual mapping, it really
can't do anything else.
You say this is not implicit in the graph merge operation. I see that it is. If an RDF application is syndicating knowledge
from disparate sources into the same graph, it merges all nodes from all graphs that have the same URI. That implies
this fundamental presumption that (insofar as the syndicated knowledge is concerned) every URI has a single consistent
mapping to the same thing.
on the other hand, the sky will fall if it's not present, the SWeb depends crucially on it existing, etc etc.. I can't put these together in my mind so that it all makes sense.
Well, perhaps the sky will not fall. But the greater the presence of overloading, the less reliable our SW agents will be.
And actually. Who knows. Perhaps it will call the sky to fall, analogously, if it causes some SW agent to make
a decision which results in catastrophe. You've given examples of such in your own posts.
The SW machinery itself, cannot test the actual URI to resource mapping. It
simply has to take URIs as atomic symbols which are externally bound to some thing in the real
world.
WHY do they have to be bound, externally or in any other way? What depends on the 'binding'??
That two arbitrary SW agents which interchange knowledge are (presumably) talking about the same thing when
they use the same URI.
Again, and I've said this before, one cannot guaruntee that those two agents actually use that URI to refer
to the same resource, but they must nevertheless presume they do.
By using a URI, one is presuming to agree with the creator/owner of that URI about its denotation
(or at least with other users of that URI about its denotation).
To agree about the denotation of a URI, the URI to resource mapping, does not constitute agreement
about the qualities, properties, characteristics, nature, etc. of the thing denoted by that URI.
No, it does involve that.
I think you must be misunderstanding me, since I very strongly disagree with the above statement.
If the URI has a unique referent and it is 'bound' to it (so one can 'get to' the referent from the URI) then that *actual thing* is bound to it; and that means that you can determine all its properties, etc., by examining that very thing, itself (in principle, at any rate).
Firstly, it may be that you are reading more meaning into my use of the word 'bound' than I intend.
Secondly, I don't believe that a SW agent can "get to" a resource via its URI (HTTP allows it to obtain a representation of the resource,
but that is as close as it can get).
Thirdly, even if a person can "get to" a resource via its URI, that does *not* mean that he/she can necessarily see all
its properties simply by examining it. You can "get to" me via my name. Can you tell me, by examining me, what my
favorite color is, or what I think about pumkin pie? Even if we know that "Superman" and "Clark Kent" refer to the
same thing, why does Lois Lane not know that? Surely if she can "get to" Superman/Clark Kent by either name,
she can see that they are the same. No?
What agreeing about the binding of a given URI to a given resource allows people to do is to make statements
about those resources -- which may in fact be contradictory. But one cannot even concieve of a contradiction
if the statements that apparently conflict one another actually are about the same thing!
This idea that you present, that "denotation" of a URI includes everything known/said about the indicated resource,
just seems unworkable in practice (and I'm a very practical nuts-n-bolts guy).
Just because I can use a name to refer to something does *not* mean I know everything about that thing. Likewise,
just because two SW agents may use the same URI to refer to the same resource does *not* mean that either of
those SW agents know everything about that resource. They may know different, complimentary (or even contradictory)
things about that resource. But just because one can refer to something consistently does not entail every bit of
truth that can be known about that resource.
I certainly hope I am misunderstanding you on this point.
It means you have access to *all* the information about it. Its like a body delivered to a coroner: you can take it apart, find out all about it.
No. I'm thinking more along the lines of an agreed identifier for the thing. E.g. your employer, the police, the FBI, the tax bureau, etc.
may all be able to say various things about you using your SSN to refer to you, and in each case, it is presumed that a given SSN
always refers to the same person, so that when one syndicates what those various agencies know about you, you likely get a
larger body of knowledge than any one agency has independently -- but that does *not* mean that you suddenly know everything
that can possibly be known about you.
Just because the SSN consistently refers to you does not mean that possessing that SSN gives you omniscience about you.
But that seems to be what you are saying I'm saying when I say that SW agents should presume that a given URI always
denotes the same resource.
Can you possibly see where our communication is breaking down?
If this weren't true, if you couldn't get to all its properties, then what you know, taken as a whole, would have more than one possible interpretation; and then that name (URI) might map to different things in the different interpretations.
Example?
Claiming uniqueness of reference is a very strong claim to make.
No. Not *CLAIMING* but *PRESUMING*
Surely there is a difference.
Noone can *claim* that every time a given URI is used by anyone else on the SW that it will refer to
the very same thing. That's silly.
BUT, it must be at least *presumed* that every time a given URI is used by anyone on the SW that
it refers to the same thing -- or else there is no point in the SW as a *global* medium for knowledge
interchange between *arbitrary* parties.
Note the stress on the words "global" and "arbitrary". They are key to the need for this fundamental
presumption about a global, consistent URI to resource mapping.
If you have less than global scope, and less than arbitrary participants, then you need not have
such a presumption. Though, for any sub-global scope, that presumption must still hold for all participants
within that scope.
Let's take this from a different perspective. Given a single RDF graph, a URI is a logical constant. If
many RDF graphs are merged, then it would not be wise nor productive to merge graphs which
did not share the same vocabulary of URIs such that those logical constants were used in
incompatible ways. Thus, one presumes that for a graph merge to be semantically valid,
the two graphs must have compatible uses of their logical constants. Right?
Now, if we posit as an abstraction, a maximal graph that is the syndication of all RDF expressed
knowledge within the scope of the SW, then we can treat each graph employed by each SW
agent as an instance of that abstract, maximal graph. Thus, given that maximal graph, each
URIref has the same meaning wherever it occurs.
The interpretation of any given graph instance by any given SW agent will be less constraining
on the world than that maximal graph, but nevertheless, consistent with it. And since no single
SW agent will actually possess that idealized maximal graph, it will seek to obtain what
knowledge it can from other SW agents in order to achieve an interpretation that is more
constrained and closer to that of that idealized maximal graph.
This idealized, maximal, global graph of all RDF expressed knowledge possessed by all
SW agents *is* the SW.
Now, it may be that there are RDF graphs that are not considered nor intended to be subgraphs of
this idealized, maximal graph that is the SW, so it's not reasonable to define any notion of
such a maximal, global graph in the RDF specs itself, but rather, it should be defined as
a foundational part of the SW architecture, which simply employs RDF as its vehicle of
expression.
Thus, given the presumption of that idealized, maximal, global graph that is the SW, any
SW agent that is interchanging RDF graphs may treat those graphs as instances of
that maximal global graph and hence may presume that every occurrence of a URIref
has a consistent meaning.
Can one *garuntee* or *prove* that such an idealized, maximal, global graph actually
*does* exist without any semantically invalid overloading of URIs? No. But if the SW
is to have any value as a vehicle for the global interchange of knowledge between
arbitrary agents, one must *presume* that such is the case.
And as I said, in RDF we use URIs to refer to everything, including the properties, classes, etc., so this uniqueness, if it applies to all URIs, has to apply even to the abstractions we are using to describe the world.
You seem to be using the term 'denote' to encompass the entire "truth" about the resource,
regardless of what different folks know or think about it -- that to agree on the denotation of
a URI is to agree on the entire reality of that thing, whether one knows everthing about it or not.
Look, we are talking about knowledge here. If a name singles out a unique thing, then it has in a sense singled out all the knowledge that is inherent in the thing.
Here is where you must be loosing me because I consider that statement to be absolutely false.
Employing a name does not bring one into contact with the thing named, nor does it provide some kind
of magical crystal ball that can divine all truth about that thing.
You're starting to worry me, Pat ;-)
If what you know about it has only one interpretation, then you had better hope that you do know all about it, because for sure you are never going to find out any MORE about it. What else does it mean to say that you know a thing *uniquely* ?
I'm just using the term 'denote' as meaning 'refer to', 'indicate', 'point to', without any inclusion
of any knowledge or assertions about the thing denoted.
Well, good luck making that idea clear. It seems incoherent to me: how can I know what is referred to, without knowing quite a lot about it? (For humans there is an answer, which is that you can see the damn thing or hear it, feel it or whatever; but even that can be viewed as a kind of knowing-about. As I think I said in an earlier post, if SW agents had perceptual abilities then the whole picture gets more complicated, admittedly. But our SW agents don't have perceptual abilities (yet).
Bingo. I'm not talking about how SW agents can know what is referred to. They can't. They just have this string that
refers to some thing in the real world, and they have various statements made about that thing, and from that they
can perhaps infer additional statements about the thing and relations between that thing and other things. But they
can't actually know what the thing is that is referred to! That mapping is done by humans (at present at least)
evaluating the knowledge expressed in RDF and relating it to the real world.
Yet, if SW agents are going to reliably syndicate and utilize arbitrary statements from arbitrary sources in order
to do their reasoning, they must presume that whatever the thing is that is referred to by a given URI, every time
it encounters that URI, it refers to that same thing. It can't know what the thing is. It can't know how that mapping
comes to be. It can't presume that there are no other URIs that map to the same thing. But it *must* presume
that the URI always refers to the very same thing, globally, consistently, always.
Well, it isn't the first time that we've had a complete disconnect because I am speaking using the
more general English meaning of some term and you are reading based on a more precise Mathematical
meaning of that term ;-)
Well, Im talking semantics. I don't think English 'folk semantics' is much use here, any more than English talk about physics or psychology. Almost all English meanings are predicated on false underlying theories. The English meaning isn't more general, its just more confused.
Well, I guess then I should just shut up and write code ;-)
...
The only things which are within the scope of the SW machinery are things that can be computed using URI-containing representations which are sent across the Web using transfer protocols. Nothing in this requires uniqueness of reference. SW agents agree/disagree about URIs, not about the referents of URIs. They have no access to such referents, in any case, so their uniqueness or otherwise would not be relevant to any agreements they make.
T his is actually part of the crux of what I've been saying all along.
But from a practical viewpoint, if those URIs don't refer to the same thing, then such agreements/disagreements
are useless -- and may in fact be vacuous, as my examples have shown.
I thought that 'denotation' was the term to use. If not, then please tell me the correct term so we can
avoid future miscommunication.
Well, denotation is the word to use, but the point is that its only meaningful when used relative to an interpretation. If you want to use a term which is closer to folk semantics and avoids the smell of Mathematics, I'd suggest using 'names' as a verb. We often do talk as though names were uniquely bound to the things they name, and as though this binding were real. Its a handy simplification for everyday use, even though it does often go wrong (there are far too many Pat Hayes's in the world for me to be able to claim that my name is bound to me particularly, for example.) But its only folk-lore: it really can't be used as the basis for technology or theory.
But one of the points of URIs is to avoid such ambiguity of reference. That's also why we have
SSNs, ISBNs, ISSNs, UUIDs, etc. etc.
I keep talking about formal languages and automated systems and you keep bringing up examples
from natural language and human social interaction.
I'd bet money that there are not more than one Pat Hayes that has your SSN.
The value of URIs to the SW is that they can serve as global, logical constants.
Patrick