Re: Why the collection?

> > Pages, for example. The way I see it, "Page" is an abstraction of
> > "Range".
>
> I personally would call it a realization/implementation thereof not an abstraction. But that's splitting hairs.

Well, I don't mind you splitting hairs. There's a lot to learn from
it. In any case, I see pagination as a less-generic way to support
ranged (start-end/total) queries and responses.

> Oh.. so you link from the resource, let's say /alice, to the collection (/alice/friends) by putting a Link header with a relation type of "describedBy" on /alice?
>
>    /alice describedBy /alice/friends
>
> Is this correct?

Almost. We're using a Link header with a relation type of
"describedBy" on /alice/friends to tell the client where it can find
/alice/friends 's non-member data (such as the managed subject and
predicate).

> How would a client know which describedBy link to follow if there are multiple? Can it do better than just trying to dereference them all?

See above. There's usually only one descriptor per collection/range
(although the problem remains if you consider that describedBy might
be used in a lot of different ways by a lot of different things).

We're also tinkering with a different approach that's been deemed
"simple enough". It's based on something a lot more similar to the
current hydra:Collection but uses a custom "members" (or "resources")
HTTP Content-Range/Range unit instead of classical pagination.

Received on Monday, 16 March 2015 10:43:47 UTC