RE: Pagination (ISSUE-42)

On 3 Feb 2015 at 06:36, Thomas Hoppe wrote:
> On 02/02/2015 11:48 PM, Markus Lanthaler wrote:
>> 
>> Another design I have been tinkering with was to rename PagedCollection
to
>> something like PartialCollection and *perhaps* move the pagination
controls
>> into a separate resource or blank node:
>> 
>>    {
>>      "@id": "http://api.example.com/an-issue/comments?page=3",
>>      "@type": "PartialCollection",
>>      "pagination": {
>>        "firstPage": "/an-issue/comments",
>>        "previousPage": "/an-issue/comments?page=2",
>>        "nextPage": "/an-issue/comments?page=4",
>>        "lastPage": "/an-issue/comments?page=498"
>>      },
>>      "member": [ ...]
>>    } 
> 
> Correkt me if I'm wrong, the `PartialCollection`  type should address
> the problem Ruben discovered
> by having exactly the semantics of a single page.
> What I don't get is the benefit of introducing a bnode for the
> pagination controls. Can you please explain that?

It is just a design I explored and as I said, it is an optional "tweak". You
could argue, that firstPage and lastPage don't belong on a "page"
(PartialCollection) as they apply to the complete collection. By moving them
to a blank node you could avoid that issue and keep all the pagination links
in the same place.

Hope this clarifies my reasoning... even though, I have to admit, it's not
crystal clear.


Cheers,
Markus


--
Markus Lanthaler
@markuslanthaler

Received on Tuesday, 3 February 2015 08:05:13 UTC