We don't need no stinkin' identity

Seeing as I'm partly responsible for this being on the issues list, I 
feel obliged to chip in ...

The discussions we have whenever "identity" crops up here, on xml-dev, 
the RDF lists, on www-tag etc., are for the most part completely 
unhelpful and confusing. I think the explanation for this is that there 
are at least two quite distinct concepts of identity at work: a 
technical one employed by logicians, "english speaking" philosophers 
and some mathematicians; and an informal one used by everyone else. The 
problem is that each camps interpretation make close no sense at all to 
the other.

In my original mail (the one Roy copied into the issues list) I tried to 
separate out some of the different interpretations, but screwed up at 
the end by advocating the technical reading (a hangover from a misspent 
youth as an academic philosopher ;-). I now think we should just opt 
for neutrality, preferably by not using the term "identity" at all in 
the definition of Resource or URI.

One rationale I've seen (maybe on www-tag?) for the current RFC 2396 
language is that the WG wanted to avoid circular definitions of 
Resource and URI ("A URI identifies a Resource; a Resource is anything 
identified by a URI") ... I believe that defining a Resource as anything 
"with identity" was supposed to break the circle. I guess it does, but I 
think that in the end the cure has turned out to be worse than the 
disease.

So rather than trying to work out and agree on what "identity" really 
means, why don't we just learn to live with the mutually recursive 
definitions? Mutual recursion isn't likely to be an alien concept to 
anyone who's ever going to read RFC 2396 bis, so it seems like a 
relatively easy option.

The only thing that might seem awkward is the absence of base cases for 
the recursion. But that's actually a bonus, because it leaves room for 
different constituencies to restrict the definitions in ways 
appropriate to their interests. The RDF folks can treat "Resource" as 
equivalent to "entity" or "thing"; the REST folks can treat "Resource" 
as a repository of network application state; I can treat "Resource" as 
being equivalent to "process"; and people with other ideas can do their 
thing too. Let a hundred flowers bloom.

In effect we'd be saying that the circular definitions of Resource and 
URI are schematic: they'd be a constraint on any acceptable fully 
grounded definitions, but wouldn't dictate _precisely_ how those those 
definitions should be grounded in any particular domain. That seems 
like a reasonable and achievable goal for an IETF specification.

Cheers,


Miles

Received on Tuesday, 22 April 2003 04:07:31 UTC