- From: Kévin Dunglas <dunglas@gmail.com>
- Date: Mon, 6 Apr 2015 22:48:44 +0200
- To: Dietrich Schulten <ds@escalon.de>
- Cc: Hydra <public-hydra@w3.org>
- Message-ID: <CAOv1iQaJJNy7b+YyU2t522f1i1Aa7NuZhXub9bNE=YoqszMExw@mail.gmail.com>
Hi Dietrich, It doesn't work in the hydra console (at least, the last time I tried). 2015-04-06 22:34 GMT+02:00 Dietrich Schulten <ds@escalon.de>: > Hi Kévin, > Am 06.04.2015 09:49 schrieb Kévin Dunglas <dunglas@gmail.com>: > > > > Hi Dietrich, > > > > Thank you very much for your explanations. It's clearer now. > > > > In order to reduce the size and complexity of responses when using the > API "the old way" (with a custom client not supporting Hydra vocab at all), > do you know if there is a way to map the current to-many structure in the > context like it's currently done for the to-one: > > > >> { > >> "@context": { > >> "organization": { > >> "@id": "#Book/organization", > >> "@type": "@id" > >> }, > >> "authors": { > >> "@id": "#Book/authors", > >> "@type": "@id" > >> } > >> }, > >> // It works and is valid > >> "organization": "/organizations/22", > >> // It doesn't work, is there a way to map a similar structure in > the context? > >> "authors": ["/authors/1", "/authors/22"], > >> // It works, but is more complex client-side > >> "authors": [{"@id": "/authors/1"}, {"@id": "/authors/22"}] > >> } > > The json-ld playground also understands your former authors attribute as > list of links, since you cast the "authors" items to hyperlinks in the > @context. That is an alternative to writing out the authors with @id. > > What do you mean by "it doesn't work"? > > Best regards, > Dietrich > > > > > > > > > > Best regards, > > > > 2015-03-19 18:38 GMT+01:00 Dietrich Schulten <ds@escalon.de>: > >> > >> Hi Kévin, > >> > >> You can embed the two authors on the :authors property, but you have to > use two json objects with "@id":"/people/1", "@id":"/people/2" properties > on each object, instead of plain strings. The plain strings are not > recognized as identifiers in your example. > >> > >> As I see it, you need no hydra:Collection if you just want to embed a > set of two items and if you have no requirement to identify the set as an > entity in its own right. > >> > >> Otoh, if you want to make the authors a remote collection, you might > need hydra:collection with :manages block. Please tell us a bit more about > your use case, if you think you need that. For example, does your :author > property have an rdfs:range? > >> > >> HTH, > >> Dietrich > >> > >> Via Boxer senden > >> > >> Am 18.03.2015 23:41 schrieb Kévin Dunglas <dunglas@gmail.com>: > >>> > >>> Thanks for the link Dietrich. Do you think the new design is ready to > be implemented or should we keep the current published spec for now? > >>> > >>> I'm very interested in feedbacks about JsonLdApiBundle, especially > about the validity of the generated Hydra and the two issues I posted in my > first mail (where to put filter definition and how to handle many-to-many > relations). Can anyone take it a look? > >>> > >>> Thank you :) > >>> > >>> > >>> > >>> 2015-03-11 17:28 GMT+01:00 Dietrich Schulten <ds@escalon.de>: > >>>> > >>>> Hi Kévin, > >>>> > >>>> the wiki description of the collection design is at > >>>> > >>>> http://www.w3.org/community/hydra/wiki/Collection_Design > >>>> > >>>> The issues are #41 and #42. > >>>> > >>>> Best regards, > >>>> Dietrich > >>>> > >>>> On March 9, 2015 9:58:09 PM Kévin Dunglas <dunglas@gmail.com> wrote: > >>>>> > >>>>> Hi, > >>>>> > >>>>> I've published a new tool to create hypermedia REST API with the > Symfony framework. > >>>>> It supports JSON-LD and Hydra and leverages Symfony to make it > really easy to the average web developper to create that kind of API. Even > if they don't share any code, this bundle has been inspirited by Markus's > HydraBundle and can be considered as a HydraBundle on steroid. > >>>>> > >>>>> It uses Doctrine, Symfony Serializer (2.7) and Symfony Validator > metadata to generate the Hydra documentation (no need for special > annotations - except for external IRIs -, a typical Doctrine entity class > will works great without any extra work) ; it supports out of the box > serialization and deserialization groups, pagination, filters, errors and > is highly extensible (event system, pluggabbles normalizers). > >>>>> The code source and the full list of features is available on > GitHub: https://github.com/dunglas/DunglasJsonLdApiBundle > >>>>> > >>>>> I've also built a demo API (a bookstore). The source code is also > available on GitHub: https://github.com/dunglas/api-platform > >>>>> A public endpoint is available here: http://bookstore-api.dunglas.fr > >>>>> HydraConsole: > http://www.markus-lanthaler.com/hydra/console/?url=http://bookstore-api.dunglas.fr > >>>>> > >>>>> It works great with the Hydra console. However, there is two > features not well described in the generated Hydra documentation and I > don't know how to handle that correctly: > >>>>> Filters (ex: > http://bookstore-api.dunglas.fr/organizations?name=another) are not > described in the Hydra documentation. I've read about hydra:search in the > spec but I don't know where is the preferred way to add those definitions. > In hydra:supportedOperation? Do you have an example of an API using > hydra:search available? > >>>>> Many-To-Many relations such as the author property in this document: > http://bookstore-api.dunglas.fr/books/2 An hydra documentation is > generated but should be invalid because the collection of is not recognized > by Hydra console. Any hint on how to fix that? > >>>>> Any feedback, both on the JSON-LD / Hydra support and on the ease of > use as a web developer is welcome. > >>>>> > >>>>> P.S.: I've read on the list about a new Collection format but wasn't > able to find the mail or the issue where it is described, can you send me a > pointer to this new format? > >>>>> > >>>>> Best regards, > >>>>> > >>>>> > >>>>> -- > >>>>> Kévin Dunglas > >>>>> > >>>>> http://dunglas.fr > >>>>> > >>> > >>> > >>> > >>> -- > >>> Kévin Dunglas > >>> > >>> http://dunglas.fr > >>> > > > > > > > > -- > > Kévin Dunglas > > Consultant et développeur freelance > > > > http://dunglas.fr > > > > -- Kévin Dunglas Consultant et développeur freelance http://dunglas.fr Tél. : 06 60 91 20 20
Received on Monday, 6 April 2015 20:49:33 UTC