- From: pat hayes <phayes@ihmc.us>
- Date: Tue, 22 Jul 2003 23:19:53 -0500
- To: "Jonathan Borden" <jonathan@openhealth.org>
- Cc: www-tag@w3.org
- Message-Id: <p06001a0abb439e8af553@[10.0.100.23]>
>pat hayes wrote: >> >> >pat hayes wrote: >> >> >> >> >... I'd assume that it would return >> >> >a 404 ... BUT ... by creating the URI you actually do 'create' a >> >resource. >> >> >> >> Really? You do? Well, OK, if you say so. But if it is that easy to >> >> create a resource then what do we need the Web for? I can write a >> >> simple piece of code which will generate syntactically legal URIs at >> >> an astonishing rate: am I creating resources? >> > >> >yep. what sort of resource do you suppose the URI urn:uuid:1233445523434 >> >identifies? (who knows) >> >> You seem to be making my point rather than yours. I must not be following >you. > >Perhaps I am being too obtuse in my arguments, and perhaps I am assuming >more "shared state" between us than may exist, let me try again... > >> > >> >>What theory - >> >> and what *kind* of theory - requires us to hypothesise this virtual >> >> URI space of virtual resources? We don't need it for semantics - in >> >> fact, its does more harm than good - and I can't see why we need it >> >> for an architectural theory, since it plays no role in the >> >> architecture. In fact, it strikes me as just a piece of nonsense made >> >> up to seem like a theory, which has become a kind of doctrine that >> >> must be defended at all costs and is beyond the reach of reason. >> > >> >Ok, so evidently you don't find this a useful analogy, but I've never >called >> >this a theory, just a way of explaining the terminology 'exists on the >Web'. >> >We aren't talking metaphysics here, just local lexicon. >> >> How very like the people I argue with to use 'metaphysics' as a term >> of dismissal. As you know, my job is to try to help get semantics >> straight. This does involve something awfully like metaphysics, in >> fact. If y'all don't give a damn about metaphysics, fine: but please >> keep out of the kitchen, because I AM talking metaphysics, and sloppy >> analogies aren't any more help here than they would be in network >> engineering or, say, neuroanatomy. "Exist" is a technical term with >> a remarkable sharp meaning. If you don't mean it, don't use it. > >First: > >1) I am using the term "metaphysics" properly as a theory about physics, as >a type of "universal theory" in opposition to "local lexicon". All I am >saying is that "URI space" might *only* be a piece of jargon that *doesn't* >involve metaphysics, i.e. I am simply saying that it need not be a >scientific theory in order for us to use casually in discourse. OK, sorry I got a little snappy back there. But OK, if "URI space" is only jargon, surely we can have can architectural description without it. My problem is that we have to take things like the architecture document seriously and try to work within them, so pieces of jargon can become like a brick on a sofa, very hard to live with. >2) You of all people ought not insist that a word has a single meaning. >"Exist on the Web" might be used in a casual sense. I do agree that we ought >sharpen the language -- I've said this at the outset -- but first, let's try >to understand what is being said, even if said in the lexicon of "Web >Hackers". Yeh, OK, I didnt mean to sound snobbish, sorry. > >> >> To go back to your analogy: every URI has a corresponding thing in >> 'resource space'. The mapping is 1:1 and onto (no resources without a >> URI; every URI has a resource). The *nature* of resources is not >> discussed and plays no role in the theory. OK, so why not make this >> be the identity map, and say that the URIs *are* the resources? That >> simplifies the theory, apparently causes no problems and saves a lot >> of interminable discussion about the nature of nonexistent entities. > >Exactly. Exactly. Exactly. Doesn't the RDF MT essentially, or actually, do >this? (I know that at least one version had made that explicit). That was probably the Herbrand stuff in the proof appendix. That uses this trick because it is OK to do so because the model theory doesn't specify what 'resources' are, it just says that every URI has to denote one. > >Ok, let's try to run with this... If URI<-> resource is 1:1 isn't that what >TimBL is saying when he states that each URI identifies one and only one >resource? Yes, though I think he wants to say more than this. For example, he would like people to have URIs which really do denote them, ie the person is the resource; and that this is fixed and unambiguous, locked down tight in all interpretations. >Now the _meaning_ of the resource i.e. the URI, might change. A >URI might mean different things. > >When I read "A resource might be anything that has identity" I think: a >resource might be _anything_ and hence I know nothing specific, or perhaps >very little, about what a resource actually is. > >This entire discussion could be crisped, by changing the topic to: "What a >URI denotes", or "What a URI means" and avoid all this confusion about what >"resources" are. I tend to agree. >"What a resource is" is a discussion that we could have in >answering the above questions, but it doesn't seem to be the best _primary_ >discussion (a resource might be anything.) > >[much discussion snipped in light of above ...] > >> >> > >> >> > >> >> >In the Web Architecture, you never can actually get your hands on the >> >> >resource, rather the representation. >> >> >> >> Is that really correct? Seems to me that you - or maybe the Web >> >> itself - does 'get its hands on' an actual information resource >> > > indicated by the URI, and that very thing then emits the >> >> representation. Isnt that (a sketch of) the Web architecture for all >> >> the ...TP protocols? >> > >> >If you consider: HTML representation -isRepresentationOf -> document >> >resource >> >then yes. But if we consider, alternatively, >> > >> >document -isRepresentationOf-> weather in Oaxala >> > >> >then no. >> >> Yes, Sigh. But which is it? That is exactly what I am trying to find out. > >I am not sure the current architecture can make that distinction. Is it >important to make -- this is a question we need to answer. Yes, because a lot of the stuff in these documents make sense with one reading but not with the other. Unfortunately some of is similar but the other way round. > >(from another email) > >> >You are caught in the resource/representation bug. >> >> Actually Im dancing between the alternatives trying to make sense of >> the TAG document. (You know, Jonathan, the use/mention distinction >> is one that I am reasonably well acquainted with:-) > >(hey I know what metaphysics is also, so there! :-) > >> >> >What you get when >> >resolving a HTTP URI with a fragid _might be_ an HTML document. It is the >> >responsability of the client to use the fragid to look inside the HTML >> >_representation_ >> >> that is, the document, which itself is a representation, right? >> >> > to find an anchored piece of the HTML document. This is all >> >the _representation_ not the resource. >> >> OK, Im fine with that so far. >> >> >ndeed the same HTTP URI with fragid, >> >might be resolved with Accept: appliction/rdf+xml in which case your same >> >fragid identifies an RDF description (i.e. rdf:ID="frag"), now what? You >> >still don't have the actual resource, rather an RDF/XML representation. >> >> If the resource is what is denoted, you almost never actually get the >> resource. On the other hand, if the resource is what you get the >> thing that you get from, then its almost never what is denoted. Which >> is it?? > >A principle of Roy Fielding's REST architecture is that you never directly >operate on the resource. >http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm . >see: 5.2. > >"resource: the intended conceptual target of a hypertext reference" > >Now I realize that discussing whether a remote galaxy might be part of an >information network gets pretty quickly obtuse, by the REST definition of >resource, a resource might indeed be a remote galaxy _identified_ by a URI. Well, that document also says (5.2.1.2): "REST components perform actions on a resource .." so if the remote galaxy is a resource then Web components can preform actions on it. It also says (5.2.1.1): "...a resource R is a temporally varying membership function MR(t) , which for time t maps to a set of entities, or values, which are equivalent. The values in the set may be resource representations and/or resource identifiers .": so if a galaxy is a resource then the galaxy is a time-varying function whose range is a set of representations and identifiers. It also says (5.2.1.1): "Any information that can be named can be a resource " Not any *thing*, but any *information*. So if a galaxy is a resource, then the galaxy must be information (?) It also says that a resource is "involved in an interaction between components" I really do hope for all our sakes that interactions between Web components do not involve high-energy galaxies. It also uses says: "Since centralized link servers are an anathema to the immense scale and multi-organizational domain requirements of the Web, REST relies instead on the author choosing a resource identifier that best fits the nature of the concept being identified. Naturally, the quality of an identifier is often proportional to the amount of money spent to retain its validity, which leads to broken links as ephemeral (or poorly supported) information moves or disappears over time. " which reads to me like it is talking about links as some suitable network generalization of a pointer - something that a server might be asked to maintain, something that can get broken if left without maintenance - rather than a semantic notion of denotation or reference. Again, in 5.2.2: "REST uses various connector types, summarized in Table 5-2 , to encapsulate the activities of accessing resources and transferring resource representations. " So resources, it seems, are entities that are *accessed*. (How do you access a galaxy?) Again, in 5.2.1.1: "This abstract definition of a resource enables key features of the Web architecture. First, it provides generality by encompassing many sources of information without artificially distinguishing them ..." suggests that 'resource' is an abstraction of a source of information (which makes perfect sense in a network context.) In what sense is a galaxy a source of information? >You may have issues with the wording, but the intention IS NOT to use a URI >like a memory address i.e. to enable direct manipulation of a resource, >rather it is a core principle of the current Web, at least as it is >articulated by REST, that resources are not manipulated directly, nor are >they transmitted over a computer network. I understand that they are not transmitted: only representations are transmitted. They apparently are accessed, however. Almost everything that is said about resources in this document makes sense if 'resource' means what Tim called an 'information resource': an abstraction of an information source, a kind of virtual entity whose role is to be identified (uniquely) by a URI and to emit a representation when prodded at a time: a conceptual mapping from times to sets of representations. All of that makes perfect sense. Unfortunately, this idea seems to have gotten mixed up with a different idea, which is pernicious and harmful. This is the idea that what the representations in such a set have in common is that they are *about* a single thing, also called the resource. This seems to use 'resource' as a rather simplistic theoretical stand-in for something like 'the stable content of a connected set of representations', where what connects a set of representations is that one gets them delivered over the course of time by using a given URI. The trouble with this, however, is that it is a very poor piece of semantic analysis: it reduces a complex semantic issue - describing the content of a linked set of representations - to a simplistic notion - identifying a single 'resource' - which isn't able to bear the necessary theoretical weight. If we instead just said that the Web transmitted representations from place to place (as described by the REST architecture) which are presumed to have semantic relationships, and then tried to expand on what those relationships actually were, we might be able to get somewhere. That would still leave the idea of resource as something with a functional role in the in the architecture intact, let me emphasize; as far as I can see it would not materially alter the REST model as a paradigmatic network architecture description in any way. Certainly for example nothing in chapter 6 of Roy's thesis would be changed by this. The only shift is to not requiring the identification of (1) the entity which is accessed with (2) the content of the transmitted representations. It is this unfortunate identification, and all the debate and confusion which it has since given rise to, which hamstrings any attempt to conduct a more general semantic analysis. > >> I still havnt got a clear answer. The TAG architecture >> document, and RFC 2396, both read like they were written by >> committees half of which thought one way and half thought the other >> way. Oddly enough. >> > >I agree. When I read TimBL's writing, they seem to make sense, same for >RoyF. It appears that the interface between the two could be more crisply >described -- or perhaps this reflects a difference in viewpoint? Perhaps we >can find a way to bring these two viewpoints together in a coherent fashion. >(Note: I am, of course, not speaking for Roy or Tim, and have no idea what >they say to eachother privately. I am saying this solely on the basis of >reading email exchanges and documents published on the web.) > >> >> > >> >The 'resource' need not physically 'emit' the representation, an HTTP >server >> >acts as a proxy for the resource. Is that way of describing things a > > >problem? >> >> If 'proxy for' and 'denotes' are supposed to be synonymous, then yes, >> of course it is a problem. > >Why would "proxy for" and "denotes" be synonymous? I see an HTTP server as a >piece of machinery that is used to publish bit stream representations of a >resource. By "of a resource" do you mean 'which denotes a resource' ? (In what sense do HTTP representations have any kind of semantic relationship to any kind of resource?) >What word should we use for this? > >> >> >In this view the HTTP server is the RPC endpoint, or Sandro's >> >ResponsePoint for the representation. Analogous to RPCs, the proxy is for >> >the remote 'object' which would be the resource itself >> >> OK, I agree the simple 'address' metaphor isnt able to handle the >> full network-engineering subtleties of proxies, endpoints and so on. >> Still, there is a basic distinction between the thingie, howsoever >> complicated and virtual, which in some sense emits the >> representations in response to a network request, and the subject or >> topic or referent of the representation itself. The TAG architecture >> document uses the phrase 'representation of' in senses that can be >> understood either way. Which of these does it mean?? > >The thingie need not itself emit representations (at least in this >terminology). If I write a document _about_ a galaxy, it is not the galaxy >which emits the representation, nor is it "my understanding of the galaxy" >(a conceptual resource) which emits the representation, rather it is the >HTTP server -- which I control. OK, so in the REST architectural description, as I understand it, the 'resource' here is the conceptual entity which responds to requests by emitting representations. It is "conceptual" because it might be preserved through changes in your server hardware and software, protocol changes, etc., i.e. rather in the sense in which a virtual machine can be "conceptual"; but still, for all that, a thingie on a network. In fact it is the HTTP server, or perhaps it would be better to say that the HTTP server you currently maintain is the current concrete embodiment, or implementation, of the resource, which itself is abstracted into a kind of idealized information-source, a function from times to representation-sets (sets because the REST architecture allows the recipient some leeway in determining the exact representational form to be used, cf. 5.2.1 para 4). But it is most definitely not a galaxy. In fact, things like galaxies play no role whatsoever in the REST architectural description, which is exactly as it should be; it also does not mention denotation, reference (in the semantic sense) or interpretations anywhere; also quite correctly. (The document does speak of semantics in several places, but I believe the word is being used there is a somewhat different sense than I have been using it.) >If we can come to agreement about the distinction between these two senses >of "representation" ? What two senses? Pat >then perhaps we can agree to use different words to >distinguish these senses (I care little which words are used). How would you >prefer to describe each of these uses? > >Jonathan -- --------------------------------------------------------------------- IHMC (850)434 8903 or (650)494 3973 home 40 South Alcaniz St. (850)202 4416 office Pensacola (850)202 4440 fax FL 32501 (850)291 0667 cell phayes@ihmc.us http://www.ihmc.us/users/phayes
Received on Wednesday, 23 July 2003 00:20:00 UTC