Re: remove hydra:Resource and hydra:Class

Am 12.01.2015 um 13:47 schrieb John Walker:
> Hi Ruben,
> > On January 12, 2015 at 1:17 PM Ruben Verborgh <ruben.verborgh@ugent.be> wrote:
> >
> >
> > > But you see where this is heading. People will have to learn about 
> owl and rdfs before they can use hydra for their restful services.
> >
> > That can certainly not be the goal.
> >
> > This discussion is foremost about removing hydra:Resource and 
> hydra:Class;
> > those constructs are only used to build the ontology.
> > People don't need them to describe an API.
> >
> I would disagree on that point for hydra:Class, for example in Markus' 
> issue tracker demo the API documentation [1] makes liberal use of it.
> The implication being that all instances of these classes (i.e. the 
> resources served by the API) are dereferenceable.

The same is true for hydra:Resource, at least Markus told me to use 
hydra:Resource to mark a Link as dereferenceable in-place (embedded, 
without dereferencing the ApiDocumentation). If used that way, it even 
appears in the response, not just in the ApiDocumentation.

That is probably why I am hesitant to drop it altogether.

On the other hand, I found that one could also make it explicit that a 
link is meant to be dereferenced by defining a GET operation on it. We 
do not have a semantic operation type for that, obviously because the 
original concept is to use hydra:operation for state-changing requests 
and to use :Resource or :Link to give a hint that clients may GET the 
resource.

Since neither hydra nor schema.org define something like a 
:DereferenceOperation: what about defining one to tell the client that 
it should expect a proper response and not a 405 for a GET on a URI. If 
someone finds that helpful or necessary, they could use it. And we could 
remove :Resource and :Class.

How does that sound?

Best regards,
Dietrich

Received on Monday, 12 January 2015 19:28:38 UTC