- From: Benjamin Armintor <armintor@gmail.com>
- Date: Wed, 27 Aug 2014 09:00:40 -0400
- To: public-ldp-comments@w3.org
- Message-ID: <CADQQ8TM9KrrVQ6BwmnRwnz5sfGHA8nfV8sUX5Rb4igBRPS66zQ@mail.gmail.com>
To whom it may concern: I'm working on a REST API specification for a project that is interested in LDP compliance, so please forgive the late timing of this comment in the editorial process. I believe I understand the intended value of the LDP-Paging spec, but I think (as an implementor of clients and servers) that LDP might be better served by the simpler, but more restrictive, approach of elaborating the HTTP 1.1 Range Request specification to include member and perhaps triple as Range units. The current LDP Paging spec reifies a paged request in a way that is valuable from a certain perspective of replayability, but unusual in that it seems to allow the client less control than is typically expected of paged resources. Consider the following version of Example 3: GET /customer-relations HTTP/1.1 Host: example.org Accept: text/turtle Range: triples=1-500 Prefer: return=representation The server might reply with: HTTP/1.1 200 OK Content-Type: text/turtle ETag: "_87e52ce291112" Link: <http://www.w3.org/ns/ldp#Resource>; rel="type", <http://www.w3.org/ns/ldp#Page>; rel="type" Link: <http://example.org/customer-relations>; rel='canonical'; etag="customer-relations-v1" Allow: GET,OPTIONS,HEAD .... if the entire representation could be fulfilled, or: HTTP/1.1 206 Partial Content Content-Type: text/turtle Content-Range: triples 1-500/600 for a paged response. Alternately, instead of triple limits the client may just request pages of members: GET /customer-relations HTTP/1.1 Host: example.org Accept: text/turtle Range: members=1-10 Prefer: return=representation with partial responses: HTTP/1.1 206 Partial Content Content-Type: text/turtle Content-Range: members 1-10/12 This approach would be, I think, a much more natural approach to pages of members- it leverages the HTTP 1.1 features already required of LDP and makes paging logic more transparent to the client. At first blush it seems less linkable, but the opacity of a page link in the current spec and the reliance on additional request headers regardless make its links less useful than they appear at first blush. It also gives servers and clients well-defined ways to advertise their ability to process the paged requests (and types of pages) within the confines of existing REST specifications. Regards, Benjamin Armintor
Received on Wednesday, 27 August 2014 13:54:04 UTC