- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Thu, 21 May 2015 23:12:21 +0200
- To: <public-hydra@w3.org>
- Cc: "'Tobias Zahn'" <tobias-zahn@gmx.net>
On 18 Mai 2015 at 08:45, Tobias Zahn wrote:
> Coming back to the description again: I thought (but I am not sure
> anymore after reading your reply), that the documentation displayed
> (e.g. for EntryPoint) would be loaded in this way: 1)
> http://www.markus-lanthaler.com/hydra/api-demo/ is loaded and parsed 2)
> http://www.markus-lanthaler.com/hydra/api-demo/contexts/EntryPoint.jsonld
> is loaded and parsed in order to dereference EntryPoint and other types
> 3) As the EntryPoint is specified as vocab:entryPoint in
> EntryPoint.jsonld, we need to load the vocab as well... 4)
> http://www.markus-lanthaler.com/hydra/api-demo/vocab# is loaded 5) Now
> we can dereference the EntryPoint from 1) and display the documentation
> for this type.
That's how it used to work. I changed it a while ago because it turned out that in practice
- blindly (trying to) dereference all used vocabularies is impractical
- the "style" of things like property labels varies wildly between vocabularies which leads to a bad user experience
- developers usually want to have more control on what documentation is displayed
Thus, the HydraConsole now
1) loads /hydra/api-demo/
2) it loads the referenced context hydra/api-demo/contexts/EntryPoint.jsonld in order to process the JSON-LD retrieved in 1)
3) the Hydra ApiDocumentation referenced in the HTTP header [1] that is part of the response to 1) is loaded
4) the documentation is generated out of that hydra:ApiDocumentation (mainly hydra:title and hydra:description)
> Am 17.05.2015 um 20:48 schrieb Markus Lanthaler:
>> The HydraConsole doesn't load the vocab (anymore). It relies on the
>> data (hydra:title, hydra:description) in the Hydra ApiDocumentation.
>
> Now what you are telling me is that the documentation actually comes
> from http://www.w3.org/ns/hydra/core# - but how?
No,
curl http://www.markus-lanthaler.com/hydra/event-api/ -i
returns
HTTP/1.1 200 OK
...
Link: < <http://www.markus-lanthaler.com/hydra/event-api/vocab>;
rel="http://www.w3.org/ns/hydra/core#apiDocumentation"
so it is loaded from http://www.markus-lanthaler.com/hydra/event-api/vocab. I really should change that to be /apidoc or something. The vocabulary in this case is schema.org. The reason it is vocabulary is that originally I returned both the vocabulary and the API documentation in a single file (and both were auto-generated).
Does this make it any clearer? Have you read the relevant section [1] in the spec?
Cheers,
Markus
[1] http://www.hydra-cg.com/spec/latest/core/#discovering-a-hydra-powered-web-api
--
Markus Lanthaler
@markuslanthaler
Received on Thursday, 21 May 2015 21:12:47 UTC