What are Information Resources Good For?
3521 November 2007 by Ian Davis
As is probably obvious from my recent posts (e.g. Fragmentation and Is the Semantic Web Destined to be a Shadow?), I’m thinking about the TAG’s httpRange-14 decision again and a large amount of the Architecture of the World Wide Web. The more I think about it, the more I come to believe that Xiaoshu Wang’s formulation is the only one that makes any kind of architectural sense. The foundation of all these issues rests in what was once known as the URI crisis and was boiled down to the question: what kind of things can a HTTP URI identify? The TAG took this up as httpRange-14 which was resolved back in 2005 by introducing the notion of a special class of resources called “information resources”. In his essay What do HTTP URIs Identify? Tim Berners-Lee wrote:
The authors of document <http://www.w3.org/2000/10/rdf-tests/rdfcore/Manifest.rdf> certainly thought that they could use “http://www.w3.org/2000/10/rdf-tests/TestSchema/NegativeParserTest” to identify an abstract thing which is a type of software test. Now they have a choice as to what to make the server return for them when I ask for it. It returns 404 “doesn’t match anything we have available”. It can’t really, because HTTP doesn’t allow one to return a class, only a document. And if it were to return a document, then I wouldn’t be able to refer to that document without accidentally referring to the class of negative parser tests.
It seems to me that this essay contains a simple mistake which colours the whole httpRange-14 debate and resolution. It says that the URI can’t return anything because “HTTP doesn’t allow one to return a class, only a document”. That’s true, but it does allow you to return a representation of the class which is a document (or potentially an image, or spoken word audio file). HTTP can never return a resource, just representations of them, i.e. things that stand in for the resource. The final point in that quote suffers from that confusion: of course you can’t use the URI of the resource to refer to its representation. Possibly you could mint a new URI to denote it, but there is no standard vocabulary that I’m aware of that can relate a representation to its resource parameterized by the HTTP request headers and the time. There probably needs to be.
The resolution to all this was to introduce a class of resources that are basically the same as their representations: information resources. The only way to detect if you have an information resource is to GET its URI. If it responds with a 2xx response then the resource identified by that URI is an information resource. Any other response code means it might or might not be an information resource. This rule has a corollary: if you have a non-information resource then you must not respond with a 2xx response, instead you should use 303 to point to an information resource that somehow gives information about the non-information resource.
Information resources are defined in AWWW:
By design a URI identifies one resource. We do not limit the scope of what might be a resource. The term “resource” is used in a general sense for whatever might be identified by a URI. It is conventional on the hypertext Web to describe Web pages, images, product catalogs, etc. as “resourcesâ€. The distinguishing characteristic of these resources is that all of their essential characteristics can be conveyed in a message. We identify this set as “information resources.â€
This document is an example of an information resource. It consists of words and punctuation symbols and graphics and other artifacts that can be encoded, with varying degrees of fidelity, into a sequence of bits. There is nothing about the essential information content of this document that cannot in principle be transfered in a message. In the case of this document, the message payload is the representation of this document.
It’s hard to understand what benefit the introduction of information resources has to the Web architecture. It definitely has drawbacks. For a start it forces all non-information resources off of the web entirely – they’re not allowed to respond with 200 status codes to GET requests. It encourages non-information resources to use of URIs containing fragment identifiers which, as I’ve pointed out, are a very broken piece of architecture and are leading to the formation of a sort of shadow web.
They are also notoriously hard to define. Consider the following resources, remembering to ask whether all their essential characteristics can be conveyed in a message?
- A cat – no
- A description of a cat – yes
- A digital photo of a cat – yes
- A 35mm film frame containing the image of a cat – no
- A web page about cats – I hope so!
- A website about cats – maybe, I guess you could tar it up and serve it from http://www.allaboutcats.com
- The DNA of a cat – probably no
- A recording of a cat’s mew – yes, unless its an analogue recording in which case we have a digital approximation of the analogue recording
- A cat’s mew – no
- A book about cats – probably not, the book is an abstract work of which there can be multiple editions, revisions, translations, abridgments etc.
- The class of all cats – I say yes, timbl says no. I can convey the precise definition of a class in a message as an RDF or OWL schema so that seems to satisfy the criteria
- The members of the class of all cats – no
- A database of cats – yes
- A card catalogue of cats – no
- The name of a cat – yes
- A taxonomy of cat species – yes
- The cat character from Shrek 2 and 3 – yes
Remind me again, what’s the point of having this distinction in types of resources….?
What about the problem identified “And if it were to return a document, then I wouldn’t be able to refer to that document without accidentally referring to the class of negative parser tests.”Using URIs to refer to abstract things, and ALSO to return a representation of that thing–this is an inherent problem to it, no? Even if there’s a formal solution, aren’t humans pretty much destined to confuse it? If I get a document back from the URL, and you tell me I’m _not_ supposed to use that URL to refer to _that document_ (that is, the representation of the resource identified by the URI)—it’s just going to confuse me. Because of course in the naive users understanding the ‘architecture of the web’ is that a URL identifies the document returned when it is resolved—that’s the way we use URLs in HTML, no? This is, I admit, an issue I have had for a while with semantic web HTTP identifiers. But this discussion from you helped me clarify it. Are you actually suggesting that _in some cases_ you should NOT use a URI/L to refer to the document that is resolved by that URL—in those cases where the URI is _really_ meant to identify an abstract entity, and what is resolved is just one possible representation of it. But in other cases, it IS acceptable to use a URL/I to refer to the document that it resolves to—in those cases where the URI is _meant_ to identify that representation? How the heck would I know which is which? Isn’t this just a confusing mess?
[...] it’s not about that thread at all, except to note that Ian Davis asks just the right kind of questions when thinking about the WebArch claim that the Web ships with a hardcoded, timeless and built-in [...]
“The class of all cats – I say yes, timbl says no.”I say no, too.”I can convey the precise definition of a class in a message as an RDF or OWL schema…”Indeed, you can convey a precise definition. But the definition of a class isn’t the class; it’s information about the class. It’s on a par with other information about the class such as a list of its members or the average number of whiskers of its members.Sparql is a member of the class of all cats but she is not a member of the definition of the class of all cats. In that sense you have failed to convey something with one of many essential characteristics of the class of all cats: containment of Sparql.
The class of all cats – I say yes, timbl says no. I can convey the precise definition of a class in a message as an RDF or OWL schema so that seems to satisfy the criteriaJust dropped by to say…oh nuts – Ed Davies said it.
Yep :) But that’s the point of this post – information resources are hard to pin down.
No, I don’t think it’s hard to pin them down. You just have to decide what are essential characteristics of the definition of the resource for your purposes and keep in mind a clear distinction between a resource and information about that resource.”Remind me again, what’s the point of having this distinction in types of resources….?”So when you get a 200 response you know you’ve got the thing (*) named by the URI, not just some guff about it. That’s all.(*) Strictly a “representation”, of course, but with a pretty narrow meaning of the word.
Ed, what is named by the URI http://www.w3.org/ and can I get it?
The thing named by the URI is a resource which is a figment of the W3C webmaster’s imagination. No, you can’t get it.The thing returned by an HTTP GET on that URI is a representation (a sequence of bytes labelled with a text/html media type). That representation is not the resource; it is a particular representation of the current state of the resource.Why do you ask? :-)
I just wondered if it were an information resource? It returns a 200 response, so it’d be good to know what the thing I just got was :)
Well yes, of course the thing named by http://www.w3.org/ is an information resource. The 200 response says so (*). Is that even a little bit controversial?You got a representation of it. Again, is that a problem?Remember, though, that this is a “representation” in a very narrow sense – sort of: a version or value of the resource. It’s not just any old arbitrary depiction or description of or general waffle about the resource.(*) http://www.w3.org/1999/XSL/Transform gives a 200 response, too. This is, in my humble opinion, an error; it should 404 or, better, 303 because a namespace is not an information resource (but that’s a little weaker than the assertion that the class of all cats is not an information resource – because the notion of a namespace is up for definition in any particular technical context but the idea of a class of cats is pretty much fixed in the English language).
The fact that http://www.w3.org/ respondes with a 200 tells you that it’s an information resource – I’m still tying to work out the utility of knowing that. It’s not that I can know that I “got” something very similar to the thing itself, because I don’t get the website at that URI, just a web page which is a portion of it. I thought I understood the value of information resources once, back in 2005, but I can’t see any today.
You know it’s not the W3C, the organization, for example. It’s not the class of all cats, or Paris or Paris the duck-billed flying cat or anything like that.On the other hand you know nothing of the sort about:http://names.edavies.me.uk/w3mostly because that domain name doesn’t exist (yet, *) so you can’t even ask. It might be that it’s an information resource which you can’t see behind my firewall or it could be it’s a name I use to denote the W3C or it could be something else.If you accept that Paris and a web page about Paris are distinct things and shouldn’t share a URI then the concept of an information resource (whether you like the name or not) is an immediate consequence. I simply don’t understand what the fuss is about.If, on the other hand, you really think that it’s a good idea to use the same URI for a concept and a web page about that concept – well, I think you’ve got a lot of justification to do to convince quite a lot of other people that the advantages outweigh the obvious disadvantages.(*) Yes, edavies.me.uk exists and yes, I have been minting URIs using names.edavies.me.uk.
My point is that webpages are representations so I don’t see any confusion. You have a resource and its representation.
If you don’t care about content negotiation or variation with time then, yes, you can think of information resources and representations as having a one-to-one relationship. Probably that’s adequate for many casual conversations but a bit weak for web architecture documents where terminology needs to be a little more careful.Of course, not all resources have representations (*).(*) In the webarch sense of the word. Do we still need this footnote?
I think we’re talking past one another a little here. The URI denotes the resource, it never denotes the representation(s). So I absolutely don’t think it’s good to use the same URI for both things. I’d like my URI to denote Paris, and use it to get a page about Paris – that page is the representation, but doesn’t have the same URI as the Paris resource.
> I think we’re talking past one another a little here. I think so too but can’t quite pin down how.> The URI denotes the resource, it never denotes the representation(s). Agreed. If you think I said otherwise a mistake has happened.> So I absolutely don’t think it’s good to use the same URI for both things. Given that a URI never denotes a representation it’s good not to use the same URI for both as you can’t.> I’d like my URI to denote Paris, and use it to get a page about Paris OK, so long as that’s a lower case “get”. You might do an HTTP GET on the URI at some point in the process but not to actually receive the page directly. Or, are you saying you would like to GET the page directly?> – that page is the representation, Rather cautious OK, for some slightly fluid meaning of “page”. But what you get is a representation of the web page, not a representation of Paris (because you can’t have a representation of a city – see footnote to my 12:27 reply).> but doesn’t have the same URI as the Paris resource.I thought you said URIs never denoted representations. Still, I agree that a web page about Paris should have a different URI from Paris itself.http://en.wikipedia.org/wiki/Parisis clearly a web page about Paris. Suppose I say that:http://names.edavies.me.uk/2007/11/Parisdenotes Paris, the city. With the obvious prefixes, I can say things in Turtle like:wp:Paris foaf:primaryTopic ed:Paris .ed:Paris geo:lat “48.75″; geo:long “2.3″.I don’t think there’s anybody who’d argue with that unless I’ve made a silly mistake. But consider:wp:Paris geo:lat “48.75″; geo:long “2.3″.How would you feel about that?
You say http://en.wikipedia.org/wiki/Paris is clearly a web page about Paris – what evidence do you have for it being a web page – why couldn’t it denote Paris if Wikipedia wanted it to? Aren’t you assuming it’s a web page because that’s the representation you get by default?So I wouldn’t have a problem if Wikipedia said:wp:Paris geo:lat “48.75″; geo:long “2.3″.I might have a problem if they saidwp:Paris dc:title “Paris” .Since I believe dc:title should only apply to documents. They could perhaps say it better like:_:x a web:Document ; web:representationOf wp:Paris ; dc:title “Paris” .
Very interesting comment thread here :)A few questions / thoughts I had along the way:Ed D. said“I can convey the precise definition of a class in a message as an RDF or OWL schema…â€Indeed, you can convey a precise definition. But the definition of a class isn’t the class; it’s information about the class. It’s on a par with other information about the class such as a list of its members or the average number of whiskers of its members.Sparql is a member of the class of all cats but she is not a member of the definition of the class of all cats. In that sense you have failed to convey something with one of many essential characteristics of the class of all cats: containment of Sparql.I had to double check the deadly /TR/rdf-mt re: the definition of a class isn’t the class. Even so, I don’t see how the RDF/XML serialization of an OWL Class cannot be understood to be a representation of the class. The OWL axioms parsed from that representation give you the precise intensional definition of the class which is always true independent of its members (or extensions).The definition of an OWL/RDFS class is always intensional (and not a pure “set”) and so the question of whether Sparql is a member of the “definition of the class of all cats” never arises. So given this, I don’t understand how the RDF serialization of OWL axioms which completely define a class (especially if it involves neccessary and sufficient terms such as owl:unionOf, owl:intersectionOf, owl:equivalentClass, etc..) would not be considered of having all its essential characteristics conveyable in a message.Ed. David writesOn the other hand you know nothing of the sort about:http://names.edavies.me.uk/w3mostly because that domain name doesn’t exist (yet, *) so you can’t even ask. It might be that it’s an information resource which you can’t see behind my firewall or it could be it’s a name I use to denote the W3C or it could be something else.I’ve brought this up before on the TAG list, so this might sound familiar :) That URI may not have a web presence, but you can still “know” (or “infer” if you like) useful information about it from authoritative declarations about what kind of thing it is (without relying on a 200) such as:rdf:type ex:StandardsConsortiumIan David writes:Aren’t you assuming it’s a web page because that’s the representation you get by default?So I wouldn’t have a problem if Wikipedia said:wp:Paris geo:lat “48.75″; geo:long “2.3″.I might have a problem if they saidwp:Paris dc:title “Paris†.Since I believe dc:title should only apply to documents. They could perhaps say it better like:_:x a web:Document ;web:representationOf wp:Paris ;dc:title “Paris†.Note the difference between this representation which “breaks” (those are gestured quotation marks) web architecture and the prior which doesn’t. The main difference is what you are authorized to assume from the network interaction with the URI. The problem only arises when you are *expected* to infer the URI denotes an IR based on the 200 code *independent* from what the RDF might say. Something smells broken alright.
> You say http://en.wikipedia.org/wiki/Paris is clearly a web page about Paris – … – why couldn’t it denote Paris if Wikipedia wanted it to?Ah, right. I see. The reason we’re talking past each other is that I thought you just wanted to quibble with the httpRange finding whereas you actually want to chop off the whole architecture of the web at the knees.Assume that Jimmy Wales has asserted that http://en.wikipedia.org/wiki/Paris denotes Paris, the city. Suppose, also, that the authors of Time Out Online have asserted that http://www.timeout.com/paris/ denotes Paris, the city. Since these denote the same thing they’re equivalent, aren’t they?Therefore, when your ISP’s transparent proxy sees you send “GET /wiki/Paris HTTP/1.1″ towards port 80 of en.wikipedia.org it’s quite legitimate for it to not bother sending packets to Florida or wherever and instead return the Time Out page which it happens to have in its cache?I have to admit I needed to sleep on this response. My first reaction was to read RFC 2616 (HTTP 1.1) to see what it says about the relationship between the requested resource and the entity returned. It’s so busy trying to break the, probably then widespread, idea that the path part of the URI is just an encoding of a file name that, rather curiously, it finishes up pretty wishy-washy about the relationship between request URI and the response entity.
>_:x a web:Document ;> web:representationOf wp:Paris ;Please can you use a word other than “representation” for the relationship between documents and the things they are about and particularly not prefix it with “web” or “webarch” or whatever. It’s simply so far from the use of the word in many existing web architecture documents that it will cause confusion. From Roy Fielding’s Dissertation:”More precisely, 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.”http://roy.gbiv.com/pubs/dissertation/rest_arch_style.htmParis is not a temporally varying membership function; it’s a city full of buildings, roads, sewers, striking transport workers and pissed-off commuters, etc.
My suspicion is that if written now that Roy Fielding quote would start “More precisely, an _information_ resource R is a …”. Other resources have pointy metal towers in the middle of them or whatever but are not temporally varying membership functions as described here.
Chemezie, I don’t think we were talking about OWL classes particularly but the argument still applies that a document containing a definition of a class is distinct from the class.You can define the class of ellipses using foci and bits of string or using the (x^2/a^2) + (y^2/b^2) = 1 formula (and other ways, of course). The definitions are equivalent but they are still distinct from each other and therefore distinct from the class.
Sorry, going into stream mode here…I just wrote “a document containing a definition of a class is distinct from the class”. Yes, and the definition is distinct from both the document and the class.
Here’s where the lack of threading is going to let this conversation down. You said Assume that Jimmy Wales has asserted that http://en.wikipedia.org/wiki/Paris denotes Paris, the city. Suppose, also, that the authors of Time Out Online have asserted that http://www.timeout.com/paris/ denotes Paris, the city. Since these denote the same thing they’re equivalent, aren’t they?Therefore, when your ISP’s transparent proxy sees you send “GET /wiki/Paris HTTP/1.1″ towards port 80 of en.wikipedia.org it’s quite legitimate for it to not bother sending packets to Florida or wherever and instead return the Time Out page which it happens to have in its cache?Possibly if they truly denote the same thing and, importantly, if there are no inconsistencies in believing that. If caches were smart enough to understand asserting equivilence then we could simply declare http://www.example.com and example.com the same without having to fiddle with DNS.However, what does the web architecture say about different URIs that are aliases for the same resource? Does it say they must serve the same representations?
[...] What Are Information Resources Good For? It’s hard to understand what benefit the introduction of information resources has to the Web architecture. It definitely has drawbacks. For a start it forces all non-information resources off of the web entirely – they’re not allowed to respond with 200 status codes to GET requests. It encourages non-information resources to use of URIs containing fragment identifiers which, as I’ve pointed out, are a very broken piece of architecture and are leading to the formation of a sort of shadow web. [...]
Hi Ian,The root of the problem is here; you said:My point is that webpages are representations so I don’t see any confusion. You have a resource and its representation.The problem is that within the class of things that we would like to represent, are things that are being used to do the representing. I’m no mathematician or logician, but schoolboy familiarity with Venn diagrams makes me think this will cause a problem.This problem never really arose with RDF/XML, because even though ‘documents’ were being used to ‘convey’ metadata, no-one ever made statements about the documents themselves. For some reason, no-one wanted to say that the document was created on Thursay, and update on Friday. The RDF/XML was scaffolding to carry metadata, and any further assertions were carried within that metadata. So there was never a problem if a URI was used to denote both Paris, and the place where you could go to retrieve some RDF/XML about Paris.But my guess is that this was more luck than judgement, and either way, it’s certainly a lot trickier when you come to web pages.Web pages are first class ‘things’ that we want to talk about, just like we might want to talk about cats, holidays and people. That means that I want to be able to indicate, for example, who created the Wikipedia page about Paris, and who created the Time Out page; and I also want to be able to say on which date each of these pages was created, when they were updated, which language they were written in, and so on.However, in your model that is not possible. In your model, web pages don’t exist as first class ‘things’ in their own right, but instead they exist merely to ‘represent’ something else. This means that not only can I not say anything about the Time Out article or the Wikipedia one–such as rating them, comparing them, recommending that a friend read them, adding a comment to them, etc.–but if I was to say anything about them I’d be creating chaos! If I said that the Wikipedia article was created on Thursday, I’d be describing the birth of Paris! If I said I thought the Time Out article deserved 5 stars I’d be rating the city!By the way, if I sound like I have the enthusiasm of the converted, then it’s true. ;) The reason I’m so convinced that the distinction between resources and information resources is the right one is because last year I spent ages trying to prove that it wasn’t; I was completely convinced that this distinction was unnecessary and confusing.But there is nothing like spending a week or two trying to disprove someone else’s assertions to help you discover why those assertions are correct. :) I still believe that the issue is not explained very well, but that doesn’t mean it is wrong.I blogged about my Damascian conversion last May, in The Information Resource Debate, and RDFa, and then wrote a follow up a few days ago (after seeing your post, and Benjamin’s) in Once more on information resources and RDFa.Regards,Mark– Mark Birbeck, formsPlayermark.birbeck@formsPlayer.com | +44 (0) 20 7689 9232 http://www.formsPlayer.com | http://internet-apps.blogspot.comstandards. innovation.
Apart from needing a bit of proofreading, I think TimBL says it pretty well:http://lists.w3.org/Archives/Public/www-tag/2007Nov/0027.html
Ed,You constantly insist that the content of a URI’s representation has to be about the resource of that URI. That is not true. Or a webpage about something has to denote that thing, that is not true.Consider, does “http://dublincore.org/2006/12/18/dces.rdf” says anything about itself? Or any 3XX end point for that matter?Of course, the best practice is to put relevant information about the resource denoted by the URI. But AWWW cannot constrain that (Freedom of speech).The reason that I use a simple text file as the final example is to show you that no matter how you conceptualize, a URI just cannot denote too things. We cannot make up a system to cater to people’s incorrect perception because eventually we trap ourselves into trouble.TimBL has great visions – and I have tremendous respect for him. But we cannot simply agree with him just because of it is what he said. With regard to this Information Resource thing, I do think he gets it wrong.
Xiaoshu Wang: “You constantly insist that the content of a URI’s representation has to be about the resource of that URI.”Sorry, but no I don’t. I wouldn’t even know how to so insist as that sentence doesn’t make sense to me – it’s on a par with saying that I insist that 34 is yellow.URIs don’t have representations. Some resources (information resources) do. I’m not sure that a representation has “content” – a representation is basically a media type and a sequence of bytes to be interpreted using that media type. I don’t think I ever made any assertions about what a representation has to be “about”. What I did do was discuss some hypothetical architecture (which Ian and, perhaps, you sometimes appear to advocate) in which a URI seems to denote both a real world object (the city of Paris in our running example) and a web page about that object (different web pages for different URIs which denote the same city). In that hypothetical architecture it would seem to make some sense for the web page to have some relevance to the object; at least, that’s my assumption.Please don’t misunderstand what I’m talking about in earlier posts in this thread. I do not advocate this hypothetical architecture – I only discussed it. I think that the architecture advocated by TimBL and co is a quite a good one (though, perhaps, not the only one possible). From now on I’m only going to discuss the TimBL architecture as I understand it.”Consider, does “http://dublincore.org/2006/12/18/dces.rdf†says anything about itself?”At a quick glance, no. Of course there’s no particular reason to think that it should say anything about itself. It _is_ itself, of course, which is all we ask. This is not a very onerous request.”Of course, the best practice is to put relevant information about the resource denoted by the URI.”No, the resource denoted by the URI _is_ the information. That’s, and I’m guessing wildly here, why it’s called an “information resource”. What it’s relevant to is a quite different matter. The resource denoted by http://en.wikipedia.org/wiki/Paris is a web page (an information resource). It’s primarily about the capital of France but also references other things like the River Seine, Celts and Romans, patron saints and so on.”The reason that I use a simple text file as the final example is to show you that no matter how you conceptualize, a URI just cannot denote too things.”Assuming that’s a typo for “two” then I agree completely.”We cannot make up a system to cater to people’s incorrect perception because eventually we trap ourselves into trouble.”Absolutely.”TimBL has great visions – and I have tremendous respect for him. But we cannot simply agree with him just because of it is what he said.”Again, agree completely.”With regard to this Information Resource thing, I do think he gets it wrong.”In what way do you think he gets it wrong? I’ve read quite a few of your posts on the TAG list, your comments above and the first part of your paper (which I can’t access at the moment to cite properly). What you seem to be criticising doesn’t match my understanding of what the AWWW and httpRange finding is about, at all.Sometimes it looks to me that you are criticising the architecture advocated by our host here (one which is happy with wp:Paris geo:lat “48.75″). In this I agree with you completely and I’m pretty sure that TimBL would, too.Ed.(P.S., sorry but I want to avoid any cross-cultural blunders. Which is your given name?)
Ed,The ionry is that you have to understand TimBL’s vision to know why it won’t work. That is why I made this blog – not for teasing but truely for enlightening. I will try to explain TimBL’s vision. I will start with the Paris example that you posted elarier (24 Nov 2007 at 12:19 pm.).Ian didn’t answer it right (sorry Ian). If two URIs (1) http://en.wikipedia.org/wiki/Paris and (2) http://www.timeout.com/paris both denote Paris – the city. Then, your ISP’s transparent proxy, if allowed, should try to return the representations at both sites. Because in the open world, the returned representation should collectively describe Paris (of course, assuming the two URI followed the best practice and not to return London’s or Lisbon’s info upon dereferencing them).The model that you suggested, in fact, should work in TimBL’s model. If both URIs returns 200 and the representation of each URI should convey all essential information (by the definition of awww:InformationResource), then any one of them is fine. This is the reason why I critized it in my document that awww:InformationResource turns the web into a closed world. This is why httpRange-14 prohibit the URI of Paris – the city – return 200. So, every 200 slash URI should denote a InformationResource (or Document) that don’t need to be further explained and extended. (Now, I hope can understand why I compare InformationResource to Buddha and Love in my blog).TimBL envisioned a web of the style of WYSIWYG, by making (representation = resource) assuming faithful transmission. So, in the web, you never see Paris, you only see Paris’s page. His vision is that any slash URI denotes only kind of thing – timbl:Document or awww:InformationResource; and timbl:Document is disjoint with any conceivable classes. And use fragment id to denote any other resources. In this idealized system, things can be a lot of simpler. I agree that he did envisions a beautiful world. But few things stands in his way and I don’t think he can overcome them. First, URI and HTTP specification is completely independent. And it will remain in that way. TimBL said he was thinking to model HTTP in RDF, I am not sure how that will overcome this. I asked him if rdfs:Resource is (a) an awww:InformationResource or (b) the complement of it. He said (a) is false and (b) is undefined. I’m not sure he can give an answer (b) because it runs into a paradox either way. I have thought why such thing don’t happen to other resource. The reason, I think, is that any system must be build on some basic truth. The esistence of rdfs:Resource as the class of all resource is just this one. To put it under the test of another system (HTTP transport) essentially throw away the entire RDF system.Second, HTTP content negotiation also challenges his vision because what you see is not what all you can get. It also makes the meaning of a fragment identifier into challenge. This is why that in my document that I have to use content negotiation and fragment identifier as examples.Third, his vision is based on the good behavior of web citizens to work. If we all follow his advice, use fragment identifier and never, never talk about 200 URI (becaues a slash URI only denotes a special kind of resource that can return representation in the web. There is nothing in the world like that except awww:InformationResource or timbl:Dcoument), then things would work beautifully for us. It is like Communism that has a great idea but is built on on the wrong assumption that human can be unselfish. His idea is based on our good behavior while he cannot strip us from our the freedom of speech. The web is full of mischievous citizens like Pat Hayes and me along with other malicious one. My argument is: just model the web like the rest of the world, ecosystem, market, science. The goal of the web architecture is to make it efficient not logically right. The rest will settle by themselves.By the way, Xiaoshu is my given name
“The ionry is that you have to understand TimBL’s vision to know why it won’t work. That is why I made this blog – not for teasing but truely for enlightening. I will try to explain TimBL’s vision. I will start with the Paris example that you posted elarier (24 Nov 2007 at 12:19 pm.).Ian didn’t answer it right (sorry Ian). If two URIs (1) http://en.wikipedia.org/wiki/Paris and (2) http://www.timeout.com/paris both denote Paris – the city. Then, your ISP’s transparent proxy, if allowed, should try to return the representations at both sites.”No, No, No. Paris is a city, not an information resource. It does not have representations. That’s the whole point: to keep things in the “real” world separate from the web pages which talk about them.”His idea is based on our good behavior while he cannot strip us from our the freedom of speech. The web is full of mischievous citizens like Pat Hayes and me along with other malicious one.”The famous Pat Hayes page is merely self contradictory. What it says in the English text (that the URI denotes a particular person) contradicts what is said by giving a 200 response to a request for the URI (that it denotes an information resource – a web page). To reject this web architecture because it is possible to make self-contradictory statements would be like rejecting English because you can put up a notice saying “This is not a notice”.”The goal of the web architecture is to make it efficient not logically right.”Well, the 303 redirection could be argued as a reduction in efficiency in order to make things logically right. It seems like a good trade-off to me.Ed.
What says Paris is not an InformationResource? I.e., who make the following assertion,_:Paris-the-city a [owl:complementOf awww:InformationResource].AWWW cannot define it because it it does, it denies that “everything is an instanceOf rdfs:Resource”. See my argument with TimBL on the TAG list.Sure, you and TimBL can make that assertion and refuse to understand those Paris’s pages – it is an open world and no one can fault you. But AWWW cannot make that assertion and you cannot fault people who develop Paris’ page.You said the “The famous Pat Hayes page is merely self contradictory” based on the definition of InformationResource that cannot be explained. Ed, if you truly want to help TimBL, try to help him find a definition of awww:InformationResource that everyone can use objectively (I tried , really, and very hard, but I found that I can only accept it by not accepting any definition.) It is not productive to just make a bland assertion like “Pat Hayes page is merely self contradictory” and start arguing on that ground. We are talking in AWWW’s belief, not yours or TimBL’s, right?Xiaoshu
We are talking in AWWW’s belief, not yours or TimBL’s, right?Right. http://www.w3.org/TR/webarch/#p43
Do you mean this,(and, if you’ve printed this document on physical sheets of paper, the artifact that you are holding in your hand), are resources too. They are not information resources, however, because their essence is not information. Do you sense the irony? What you see is not Information either because it is printed on your computer screen. But yet, you still somehow can understand it and communicate with it. Ed, don’t follow it blindly and try to read it objectively? The “Information” defined in AWWW is anything but the concept of information that we ordinarily know. Information is acquired because it is yield during processing. For instance, the water that I am now sipping is information to my body because it arose my senses and my body start to know how to handle the water. Is it information resource to you? I guess not (but you do a little now because you read this post). Hence, nothing – I mean, nothing – can be an information by its nature. In other words, the membership of InformationResource is not static, it is dynamic because it is judged by use (such as http transportation). Hence, you cannot say that an article is an Information if you treat it as a piece of paper (even this, you still get some information, right? it is a piece of paper) but you can say it is an Information when you read it aloud. This is why I told you, if you truely understand TimBL’s vision, you will not find any of these examples entertaining. timbl:Information is one of its kind. Nothing can be both a timbl:Information and somethingelse. Even a webpage, it can be an InformationResource but not also a webpage because one the former is always abstract the other can be physical. If you follow this line of thought, you may reach the same conclusion that I got ….Ed, I tried to generalize the argument by asking TimBL if rdfs:Resource is (a) awww:InformationResource and (b) [owl:complementOf awww:InforamtionResource]. You give an answer, if you cannot, do you think it is useless to pickup one instance because it only shows that non-InformationResource exist. I have never argue that. I want to know what is the necessary/sufficient condition to make something InformationResource or non-IR. Because neither TimBL nor you can sit on every web traffic to tell us right. Then, you have to develop something more concrete to guide other web users. If you cannot, then don’t judge others so hastily.Xiaoshu Xiaoshu
In other words, the membership of InformationResource is not static, it is dynamic because it is judged by use (such as http transportation).Yes.