Re: Injective Quality (Was: Re: URIs quack like a duck)

-----Original Message-----
From: Graham Klyne <GK@Dial.pipex.com>
To: michaelm@netsol.com <michaelm@netsol.com>
Cc: Tim Berners-Lee <timbl@w3.org>; xml-uri@w3.org <xml-uri@w3.org>
Date: Wednesday, May 31, 2000 10:23 AM
Subject: Re: Injective Quality (Was: Re: URIs quack like a duck)


>At 02:27 PM 5/30/00 -0400, Michael Mealling wrote:
>>On Tue, May 30, 2000 at 06:08:10PM +0100, Graham Klyne wrote:
>> > At 09:50 AM 5/30/00 -0400, Tim Berners-Lee wrote:
>> > > >
>> > > >  "If the name X and the name Y are different,
>> > > >   then we know the resource identified by X is
>> > > >   different from the resource identified by Y"
>> > >
>> > >
>> > >I disagree. In fact, I would say that you can't make a system
>> > >which scales globally in a decentralized way with that
>> > >tautology.
>> > >
>> > >[[Two problems with vocabulary, by the way:
>> > >(1) My definition of a resource is that exactly identified by a URI
and so
>> > >URIs and resources are in 1:1 mapping.
>> >
>> > These two statements seem to be in contradiction:  if X and Y are
>> different
>> > names (URIs) that identify the same resource, then URIs and resources
are
>> > not in 1:1 mapping.  What am I missing?


The fact that in [[ ]], I pointed out that his use of vocabulary was
different from mine
in that I use "Resource" only to refer to that identified by one absolute
URI string,
but that I did still discuss his real question using his effective
definition of resource which is I assumed was
graham:resource = "the set of tim:Resources which are Graham:equivalent".

The term Resource is defiend by the URI spec, and I didn't want to propagate
misuse.
But for any form of graham:equivalence, the question is interesting.
I refered recently to a set of ealier posts whcih I keep repeating.

>>Because it depends on how you define 'same'. The URI architecture
>>defines 'same' to be an equality function that is solely dependent
>>on what the URI tells you. I.e. its a universe where the URI is
>>the only datatype or semantic you are allowed to use. Its 1:1 because 'n'
is
>>specifically defined to not exist. I.e. a binding of a URI to its
>>resource is an identify function....


URI equality  gives one form of sameness.  It is a low-level form.  For any
form
of == other than URI string comparison, you have

   u1 = u2   =>  R1 == R2

but not necessarily  the other way around.

>>Now, if you include the entire human universe of 'sameness' such as bit
>>equality, copyright, version control, legal jurisdiction, intellectual
>>property, etc, then no, it isn't a 1:1 mapping. Its a 1:n mapping...
>
>Hmmm...
>I considered that, but I find this position very hard to reconcile with the
>statements I was querying...
>
>(a)  name X 'different' name Y =!=> resource X 'different' resource Y
>(b)  URI:resource mapping is 1:1


(a) is talking about some other notion of "non-equivalence" between
Resources.
(b) is talking about equality of Resources

When you discuss whether two things are "equivalent" -- for example, is the
French translation of the document equivalent to the English, then you
must define specific form of equivalence (academically-equivalent,
court-equivalent, intellectual-property-rights-equivalent, etc).
Alternatively, you can
(formally) define a new noun (like say "book" as the set [closure] of all
issues and translations
and publishings and printings and copies of a manuscipt) and then you
can, if you are careful, talk about "equality" of books.

So the vocabulary people use to discuss this sort of issue  where
a specific form of equivalence is involved, vary.  Sometimes you see
"academically-equivalent resources" , sometimes "equal books", but
"equal Resources" (or same resources) should be used only to
talk about things with the same URI.

Apart from the relative URI misunderstandings, XML systems such as XPath
test to
see whether the same Resource is involved: they compare the absolute URI
strings.


>I would have thought that if (b) were true,
>then one would be entitled to conclude the converse of (a):
>(c)  name X 'different' name Y ==> resource X 'different' resource Y
>
>especially for the very strong notion of 'sameness' of resources that you
>describe, and assuming that
>      same(A,B) <=> NOT( different(A,B) )


With Resource equality you have that.  Which is what the Namespaces stuff
does.
But you don't have that when you move to any other form of equivalence.

Received on Wednesday, 31 May 2000 11:48:49 UTC