- From: Pierre-Antoine Champin <pierre-antoine.champin@liris.cnrs.fr>
- Date: Thu, 14 Jan 2016 20:14:21 +0100
- To: Maik Riechert <maik.riechert@arcor.de>
- Cc: Ruben Verborgh <ruben.verborgh@ugent.be>, Markus Lanthaler <markus.lanthaler@gmx.net>, "public-hydra@w3.org" <public-hydra@w3.org>
- Message-ID: <CA+OuRR-sDbgC80BHVioophgAsja5vWRLPbvfoScKSuEMx00UZQ@mail.gmail.com>
Hi all, I ended up with a rather long mail, so here is the executive summary: I propose to refine Ruben's definitions as follow (including a definition of 'parent', required by Markus): – A collection is a set of members that somehow logically belong together. – A collection may have a parent collection, which is a superset of that collection (every member of the collection is also a member of the parent) – A view on a collection is a resource describing a subset of the members of that collection, based on a particular condition. – A page is a view that selects members based on their position in a specific ordering of the collection. Now for the detail: I am a bit confused, Ruben, because it seems to me that yout alternative definition contradicts one of your previous points. You wrote: > { > "@id": /collection", > "@type": "Collection", > "totalItems": 2, > "member": [ > { "@id": "/ruben", "name": "Ruben" } > ], > "view": { > "@id": /collection?page=2", > "@type": "PartialCollectionView", > "first": "/collection?page=1", > "previous": "/collection?page=1", > "last": "/collection?page=2" > } > } > Okay, I like the above: > { > "@id": /collection", > "@type": "Collection", > "totalItems": 2, > "member": [ > { "@id": "/markus", "name": "Markus" } > ], > "view": { > "@id": /collection?n=Markus", > "@type": "PartialCollectionView", > "totalItems": 1 > } > } > Here is the point where I start disagreeing. > (...) I would expect more something like: > { > "@id": /collection?n=Markus", > "@type": "Collection", > "totalItems": 1, > "member": [ > { "@id": "/markus", "name": "Markus" } > ], > "parent": { // or "viewOf", or "up" (cfr. previous/next) > "@id": /collection", > "@type": "Collection", > "totalItems": 2 > } > } So there is IMO an important difference of nature between </collection?page=2>, which describes members of </collection>, and </collection?n=Markus>, which describes members of itself, and indirectly relates them to </collection> (through its 'parent' relation). For me, the notion of "view" captures the former idea, while the notion of "collection" captures the latter (while a collection may have no parent, of course). This is why I don't understand Ruben's alternative definition, which conflates views and collections. Just to be sure I understand each one's point of view correctly: * Markus would like to have only basic collections (no notion of parent), and unify all searches, filters and pages as views. * Ruben would like to keep searches/filters as full-fledge collections (while explicitly relating them to their parent collection), and keep the notion of view for paging only -- thus renaming them "pages" instead of "views". Did I get it right? I tend to lean towards Ruben's model: I like the idea that filtered collections can be handled by a client as a first-class collection, without having to care about the fact that it is part of a larger collection. I would not discard so quicky the notion of "view", though; I'm not convinced that there are no other use-cases than paging. On Thu, Jan 14, 2016 at 10:30 AM, Maik Riechert <maik.riechert@arcor.de> wrote: > +1 to the alternative definition, seems more clean. I always found it > strange that the current "view" definition doesn't really contain > anything, except the navigation controls. Makes more sense to me to > attach those directly to the collection page. > > Cheers > Maik > > Am 13.01.2016 um 22:46 schrieb Ruben Verborgh: > > Dear all, > > > > Here's a first go at definitions: > > > > – A collection is a set of members that somehow logically belong > together. > > – A view is a subset of those members of a collection that satisfy a > particular condition. > > – A page is a view that selects members based on their position in a > specific ordering of the collection. > > > > Alternative definition of view if it is going to be a subclass of > collection: > > – A view is a collection which contains those members of a parent > collection that satisfy a particular condition. > > I would really argue for this, since then we can reuse all the > collection stuff on view. > > > > Best, > > > > Ruben > > >
Received on Thursday, 14 January 2016 19:15:13 UTC