- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Thu, 5 Feb 2015 22:02:18 +0100
- To: <public-hydra@w3.org>
On Thursday, February 05, 2015 1:30 PM, Jacopo Scazzosi wrote: > Hello everyone! This is my first message ever to this list - I hope > I'm off for a good start. Welcome Jacopo! > First things first, huge thanks and loud high-fives to all of you. To > a newcomer to the world of JSON-LD, RDF, LDF and Linked-Data such as I > am, this list comes as an invaluable source of both theoretical and > practical understanding. Thanks for the nice words. It's great to hear its valuable for you. > Now, to the point. I, too, do not like the current collection design > that is being discussed. Beside not providing the client with explicit > assertions about the managed predicate, in my *extremely* humble > opinion this design also confuses the actual triples of interest - > representing those that alice knows - with triples of a higher-order - > such as pagination triples - that actually describe the former triples > rather than alice herself. However... Isn't this what named graphs are > for? Being able to actually describe sets of triples with other > triples? Unfortunately not really. You can use them that way but that's not how they have been standardized. If you want dig into this and have a couple of hours you might wanna read "RDF 1.1: On Semantics of RDF Datasets" http://www.w3.org/TR/rdf11-datasets/ > So, here's my graphs-inspired idea... > > { > "@id": "/alice", > "@type": "foaf:Person", > "hydra:graphs": [ > {"@id": "/alice/graph/knows", "manages": "foaf:knows"} > ], > } > > { > "@id": "/alice/graphs/knows", > "isAbout": "/alice", > "manages": "foaf:knows", > "nextPage": "/alice/graphs/knows?p=2", I can't see a substantial difference to the current collection design to be honest... > "@graph": > [ > {"@id": "/alice", "foaf:knows": "/bob"}, > {"@id": "/alice", "foaf:knows": "/linda"} > ] > } ... and the biggest issue is that this would put the /alice foaf:knows ___ triples into different named graphs. > The general idea is to use dedicated graphs to serialise sets of > triples that need meta-data for their representations to be of > practical use (such as query and/or pagination data). I don't know whether I misunderstand you here or whether you are confusing something here. These triples do not need "need meta-data for their representations to be of practical use". The client, however, needs some information about where to find these triples. That's the whole purpose of pagination: providing pointers to places where more of these triples can be found. > While I do prefer header-based pagination using the "Range" header, > this solution is pagination-agnostic. It can go with header-based pagination What range would you apply here? Bytes don't make much sense. Triples neither. Anything else? > link-based pagination and whatnot. It also explicitly states who is it > that alice knows, although clients are still required to understand the > "manages" predicate in order to figure out which link to follow. That's exactly what happens in the current collection design. Have you read my reply to Dietrich? http://lists.w3.org/Archives/Public/public-hydra/2015Feb/0016.html > Here's a link to a working snippet of what I have in mind, running in > the JSON-LD playground: http://tinyurl.com/loacumv . > > It shows a paginated collection of "foaf:knows" values implemented > using a different named-schema per each page of the collection, each > with appropriate pagination links. The normalized output looks fine to > me. > > Granted, the semantics of "hydra:manages", "hydra:next", etc... etc... > are slightly different than the current ones. Have you noticed that the triples are segregated into three different graphs? > That's it. Please forgive me if I have gotten something wrong, I'm > still wrapping my head around all this. Also, english is not my first > language - beware of grammatical and/or syntactical horrors. No need to apologize :-) Quite the contrary, thanks for taking the time to share your thoughts. Maybe you could elaborate a bit on what you don't like in the current design so that we can see whether we missed something. Cheers, Markus -- Markus Lanthaler @markuslanthaler
Received on Thursday, 5 February 2015 21:03:07 UTC