- From: Sandro Hawke <sandro@w3.org>
- Date: Sun, 20 Jul 2014 23:13:36 -0400
- To: "McFall, Gregory" <gregory.mcfall@pearson.com>, public-ldp-comments@w3.org
- Message-ID: <53CC8560.7090604@w3.org>
On 07/18/2014 04:39 PM, McFall, Gregory wrote: > The Editor's Draft contains the following paragraph: > > 6.2.17 LDP Paging servers must not initiate paging unless the > client has indicated it understands paging. The only standard > means defined by LDP paging for a client to signal a server that > the client understands paging is via the client preference defined > for this purpose; other implementation-specific means could also > be used. > > Non-normative note: LDP Paging servers could choose to make any > resource available only as a paged resource. One consequence of > the prohibition on initiating paging when interacting with > non-paging-aware clients is: if such a server receives a request > for a paged-only resource, and the request does not signal that > the client is paging-aware, then the server has to reject the > request, most likely with a 4xx status code. This avoids the > situation where a non-paging-aware client blindly follows a 303 > redirect, retrieves that resource (which the server, but not the > client, knows to contain only the first page of the paged > resource's state), and upon receiving the 200 OK status code > concludes that it now has the entire representation of the paged > resource's state (instead of only having a representation of the > subset assigned to the first page). > > The rationale provided in the non-normative note indicates that the > conformance rule exists so that clients won't mistakenly assume that > they have received the complete state of a resource. But RDF is based > on the open world assumption, so clients can never assume that they > have the complete state of a resource. The thing that's open world about RDF is that it doesn't include the Closed World Assumption that some system do. CWA says that anything that's not stated as a fact is assumed to be false. RDF doesn't do that, but that doesn't make it okay for a web server offering the representation of an RDF Source to omit some of the triples. True, if it were to do so, RDF systems would not conclude false things, but they still would behave incorrectly in many cases. For example, if the RDF Source was a company directory being retrieved by a phone book webapp, and the server suddenly decided to do paging, maybe because the company hired its 1001's employee, it would be a real problem if some employees just didn't show up. What if the client were the payroll system or the door-lock system? :-) > > It seems to me that it may be worse to reject the request entirely > with a 4xx status code. The average web developer uses paging all the > time without these kinds of strictures. I worry that this conformance > rule will be a barrier to adoption of LDP Paging by those who want to > build systems that appeal not only to the semantic web community, but > also the wider community of web developers. > I just re-read that part of the spec this evening, and (despite what I said above) I share your misgivings. I'm inclined to soften the MUST NOT initiate paging (without a sign from the client) to SHOULD NOT initiate paging. So if you're either going to page or give a 4xx, then it's okay to page. To handle the clients treating 303 as if it were a 307, perhaps we can make a loud statement that's a bad idea. Unfortunately, we can't say they MUST NOT do that, since the clients who do that aren't LDP Paging Clients, so it's out of scope for this spec to say anything about them. > Regards, > Greg McFall Thanks for the feedback! -- Sandro
Received on Monday, 21 July 2014 03:13:44 UTC