- From: Xiaoshu Wang <wangxiao@musc.edu>
- Date: Sat, 12 Apr 2008 11:08:16 +0100
- To: Pat Hayes <phayes@ihmc.us>
- CC: Michaeljohn Clement <mj@mjclement.com>, "www-tag@w3.org WG" <www-tag@w3.org>, noah_mendelsohn@us.ibm.com, Jonathan Rees <jar@creativecommons.org>, Phil Archer <parcher@icra.org>, "Williams, Stuart (HP Labs, Bristol)" <skw@hp.com>
Darn and thanks, Pat. I wish my English is that good. Xiaoshu Pat Hayes wrote: > Reading this exchange (below), I think I might be able to make > Xiaoshu's case for him. (Xiaoshu, if I have misrepresented you at all, > please forgive (and correct) me. But I got to this point from your > recent emails (on and off list), so even if Im wrong, you have to bear > some of the responsibility :-) > > The central point is that now that we have the technology and ideas of > the semantic web available, we have a wider range of ways of > representing, and a richer notion of what words like ''metadata" mean. > If we are willing to take fuller advantage of this new richness, we > make available new ways to do semantic things within the same overall > design of the pre-semantic web. > > In particular, awww:represents is a very narrow sense of > 'represents'. Perhpas we can allow a wider sense of representation > here. The REST story was always that URIs/ identify/ resources, and > that the http response is a/ representation/ of the resource. Nobody > has ever been able to say what exactly counts as a 'resource'. We > already have accepted the idea that a given resource may have many > awww:representations, to be resolved by content negotiation. > > Now, take that story exactly as expressed, but let the word > 'identify' mean simply/ denote/ or/ name/, and allow that the/ > resource/ can be something entirely unconnected to the Internet (such > as, say, me), and allow 'representation' to include not/ just/ the > awww:representation relationship between a byte stream and something > like an html web page, but more generally/ any kind of representation > of a thing/, so that an image of me can be a representation of me, and > an RDF description can be another representation of me, and my home > page can be yet another representation of me - remember, here the > resource in question is/ me/, not some information resource. So, what > follows from this vision? Well, it means that your insistence that the > RDF and a JPEG image must be different resources is misplaced. Not > that its false, but it misses the point. Their role here is not as > resources, but as/ representations/. And seen in this light, it seems > quite natural that one might use conneg to decide which of them is > most appropriate. > > Now, of course, this is not how 'representation' has traditionally > been used in Webarch discussions. It is not awww:representation. But > it is a perfectly good usage of the word 'representation': in fact, > somewhat better than the traditional webarch sense, which is so > special and peculiar as to almost be a distortion. It requires us to > generalize the 'classical' webarch story to allow a broader sense of > '/representation/' and a broader sense of '/resource/' and a broader > sense of '/identify/'. And I think Xiaoshu's main point is, let us try > doing that, indeed, and see what happens; and in fact, one gets a > coherent, rational story about how Web architecture should work. It > isn't the REST model any more: it generalizes it to include a much > wider range of possibilities. (We might call it REST++.) It is a Web > much more infused with semantics and descriptions than the current > Web, one which uses its own formalisms (RDF) more architecturally than > the current Web. In this vision, the semantic Web isn't simply an > application layer built on top of the pre-semantic Web, but instead is > something more like an architectural generalization of the > pre-semantic Web, with semantic technology built into its very > architecture all the way down. > > So, here's a typical Web transaction. A URI U/ identifies/ a resource > R, and when U is given to http, the Web delivers a/ representation/ S > of R. Typical classical case: R is a website (or a webpage or a server > or an http endpoint, or... but anyway, its something Internettish), > U+http is a route to R and S is a awww:representation of R, which is > typically a byte-for-byte copy of a file which comprises the bulk of > R. Alternative case using the more general senses: R is me, U denotes > R and S is an RDF graph describing R, using FOAF. Describing is one > way of representing. Another alternative sense: R is me, U denotes R > and S is a JPEG image of R. Picturing is another way of representing. > Now, these representations aren't awww:representations of me, of > course; but they couldn't/ possibly/ be, since I'm not the/ kind of > thing that can possibly have/ an awww:representation. So if we want to > run the classical story with things like me - non-information > resources - as R, then we/ must/ generalize the classical notion of > 'representation'. > > What these alternative cases have in common, and where they both > differ from the traditional one, is that the Web 'thing' that is > located by U+http and which returns the representation S simply isn't > mentioned. Its not part of the story at all: it's not the resource, S > doesn't represent it, and its not what the URI identifies/denotes. Its > just part of the Web machinery, a computational thing whose task is to > transmit S when requested to do so. It has a relationship to R, of > course, but rather an indirect one: it is a thing that delivers > representations of R, using http. We might call it a/ storyteller/ for > R. R might have a whole lot of storytellers, each capable of telling > different kinds of story about R. The classical case is where R is > its own storyteller. This is different from the classical REST/webarch > story, indeed: but then, as soon as we allow URIs to identify things > that can't be accessed by transmission protocols, the classical story > stopped working. We have to broaden our horizons. But notice that it > follows the same basic description as the classical story, just using > the terminology more broadly. > > In this view, then, content negotiation is a much wider topic than it > has traditionally been. We are dealing with a much wider notion of > what a 'resource' is, and a much wider notion of what a > 'representation' is. Some resources have/ all kinds/ of possible > representations. So yes, we have to be prepared to go beyond 'accepted > and expected usage'. Who would have thought otherwise? > > Pat > > > > > At 7:31 PM -0600 4/11/08, Michaeljohn Clement wrote: >> Xiaoshu Wang wrote: >> >>> We agree that there are legacy data, yes? Let's make its URI x, >> whose >> >>> owner is Joe. >> >>> Case 1. Joe is lazy. >> >>> Then, no LINK, no Conneg. Is this fair? >> >>> Case 2: Joe is not lazy. >> >>> (a) Joe makes LINK(x)=metadata. >> >>> (b) Joes make Conneg(x)=metadata (can easily GET x Accept >> >>> application/rdf+xml). >> >> >> >> (b) would be wrong, because the metadata is not an alternative variant >> >> of the resource identified by x. >> >> >> > Why wrong? First define metadata? Say _:x _:b _:y. Is this assertion >> > metadata of _:x or _:b or _:y? You assume it is wrong because of an >> > arbitrary definition of metadata. >> >> I object on the basis of my sense of what conneg is for. I don't believe >> my definition of "metadata" is relevant. >> >> Let's stipulate that GET x, for the "x" in your example, returns a PNG >> image, and that the metadata in question is some statements about that >> image, expressed in RDF. >> >> Would you not agree that the RDF represents a different resource from >> the image? >> >> Content negotiation would be an appropriate way to serve an alternative >> JPEG representation of the same resource, but to return a different >> resource would be contrary to accepted and expected usage. >> >> > In your proposal, any RDF >> > transformation is the metadata of an HTML, they should be put in >> LINK too. >> >> I'm not proposing that. I am simply suggesting not to use conneg except >> to negotiate between different representations of the same resource. >> >> >> Surely there may be more than one application/rdf+xml resource that >> >> might be associated in some way with the resource identified by x, >> >> right? It's impossible to distinguish between these by using conneg. >> >> >> > This is the reason. Perhaps it is not I who have failed to understand >> > the <LINK> problem, it is you who have failed to understand Conneg. >> >> I don't follow your argument here, perhaps you could restate it in >> more concrete terms. >> >> >> If the only purpose of the Link: header would be the same as the >> >> purpose of the HTML <link rel=alternate>, then surely (b) would be >> >> more relevant, but the Link: header can express other relations as is >> >> being discussed here, viz "describedBy". >> >> >> >> The only way (b) can be correct here is if the result of a GET with >> >> Accept: application/rdf+xml is actually just a variant representation >> >> of the same resource. >> >> >> > What do you mean *just* a variant? >> >> By "just a variant representation of the same resource", I mean >> specifically something that is not a representation of a completely >> different resource. >> >> > All representations bound to the >> > resource 'x' identifies x. >> >> They /represent/ x, I'm not sure what you mean by saying that they >> "identify" x. >> >> > It may be of different format, different >> > language, but they are all talking about the same resource - that is >> > what matters. >> >> Unless the server is misconfigured, they are all representations of >> the same resource. >> >> That's why I don't understand why you think that conneg can solve the >> problem that the Link: header can solve, namely the association in an >> HTTP response message of a *different* resource with the one that has >> been accessed. >> >> Michaeljohn > > > -- > > --------------------------------------------------------------------- > IHMC (850)434 8903 or (650)494 3973 home > 40 South Alcaniz St. (850)202 4416 office > Pensacola (850)202 4440 fax > FL 32502 (850)291 0667 cell > http://www.ihmc.us/users/phayes phayesAT-SIGNihmc.us > http://www.flickr.com/pathayes/collections >
Received on Saturday, 12 April 2008 10:09:09 UTC