Re: Hydra compared with JSON API, other specifications

Hi Asbjørn

Good points!

Personally the selling point of Hydra+JSON-LD, which differentiates it 
from others like HAL, SIREN, Mason, etc are (in that particular order)

1. unobtrusive syntax
2. expressiveness (and extendability)
3. distributed nature
4. emphasis on links and metadata
5. machine-readability first

1)

Pure JSON doesn't have an expressive enough syntax to allow easy 
extension of exisiting representations. Hence most propose abominable 
solutions, which deconstruct "pure JSON" and mixes that with links and 
related resources. This comes in different forms like "_links" or 
"embedded". With JSON-LD is easier to extend existing models without 
radical changes. Also some (all?) alternatives don't support deep 
nesting of hypermedia controls. JSON-LD does, because it is still just JSON.

3)

Unlike other hypermedia types, which allow linking to other resources, 
JSON-LD has the facility to link also to predicates (ekhm RDF). On top 
of that Hydra add it's ApiDocumentation. I don't know of any other media 
type which can match this :)

4)

This is not strictly related to Hydra, but in my opinion, as a 
consequence of insufficient expressiveness and linking capabilities, 
there is a general tendency to abuse URL structures. Just have a look 
Swagger sample or RAML. They are constructed in a way, which encourages 
clients coupled to specific URL schemes. Hydra pays no attention to URLs 
(other then that they are identifiers) which is great. Well, of course 
there are templates, but they are media type-specific and not 
API-specific, which is fine (as per Fielding's dissertation actually).

5)

That is probably a direct consequence of Hydra and JSON-LD stemming from 
SemWeb. And even if on doesn't want to build really smart (autonomous) 
clients, machine-readability ensures less coupling and change resilience.

Disclaimer. Please pay limited attention to my examples of Hydra 
alternatives. I'm by no means an expert with any and base my opinions by 
online examples. I'll be glad if someone were to prove me wrong :)

Regards,
Tom


On 2016-01-11 20:34, Asbjørn Ulsberg wrote:
> On 11. jan. 2016, at 15.03, Thomas Hoppe <thomas.hoppe@n-fuse.de> wrote:
>
>> On 01/11/2016 10:55 AM, Martynas Jusevičius wrote:
>>> Just to clarify, what people of which industry?
>> ...commercial IT enterprises and the open source, non-profit world.
>> So basically everything except academia.
>
> I’d just like to echo this, since a lot of people having long time experience with the Semantic Web and related technologies seem to have a  skewed perception on its relevance outside of the circles they’re involved in.
>
> The ~20 years of experience I have from working in Enterprise IT tells me that besides some small groups investing in Topic Maps and similar technologies, the ideas behind the Semantic Web and the Semantic Web itself is at best seen as obscure and alien and at best completely unknown.
>
> I hope and think JSON-LD and Hydra can change that, but I think this is important for people to realize when working in this field and which was a crucial part of JSON-LD’s road to success. I think JSON-LD appeals to people not because of its RDF foundation, but despite it. It strikes an almost perfect balance between being easy to understand and applicable to real-world and enterprise problems as well as being a great application of RDF and through that being able to sew the web tighter together.
>
> I think most people will choose JSON-LD for the former benefit and discover the latter almost accidentally. In the same way, I think people will use Hydra as something as banale as “WSDL for REST” and discover its hypermedia richness and power over time and by chance.
>

Received on Monday, 11 January 2016 21:42:43 UTC