RE: Relating hydra:Classes to hydra:IriTemplates

On 24 Jun 2014 at 09:03, Jindřich Mynarz wrote:
> On Mon, Jun 23, 2014 at 1:33 PM, Markus Lanthaler wrote:
>>> Or, distilled even more, is the following pattern in line with Hydra?
>>> 
>>> :A :B :C .
>>> :A a hydra:Class .
>>> :B a hydra:TemplatedLink .
>>> :C a hydra:IriTemplate .
>> 
>> IMO it is, but it is currently still undefined what it means, i.e., the specification doesn't
> mention this pattern at all.
> 
> This is why I'd like a clarification. In fact, the Hydra specification
> doesn't contain any examples of hydra:TemplatedLinks used in a wider
> context; the sector 5.2
> (http://www.hydra-cg.com/spec/latest/core/#templated-links) shows only
> atomic examples, where there's no relation indicated to the rest of
> the API description.

Yep, this should be improved (as the spec in general).


>> I can't think of a different interpretation right now but that doesn't mean there isn't any.
> 
> If the pattern by itself is ambiguous, then further documentation may
> clarify the indended way of interpretation. (Given that we'd still
> think this is a good way to represent things.)

Sure. We just need to write it down in the spec if there's consensus to do so.


> Meanwhile, I think we could get a consensus on a slightly similar, but
> likely less controversial pattern, that you proposed:
> 
> :A :B :C .
> :A a hydra:Collection .
> :B a hydra:TemplatedLink .
> :C a hydra:IriTemplate .
> 
> Do you think the Hydra specification can contain an example of this
> pattern being used?

Sure. In March I met Ruben at a conference in Amsterdam, we discussed reorganizing the spec around a concrete example. Perhaps an events API as it is simple enough yet contains most of the things people will generally need in a Web API and could also be nicely reused to illustrate Linked Data Fragments. So this is certainly planned, I just have to find the resources to do so.
 

>> An alternative to kind of get the best of both worlds might be
>> to specify a specific type of entry point in more detail (as you
>> implicitly proposed, I think). So some form of entry point which
>> does nothing else than listing all available collections (persons,
>> orderds, etc.) along with their interaction models (querying, adding
>> members, etc.). What do you think?
> 
> I don't see how creating a specific type of entry point would help to
> address how hydra:IriTemplates should be related to hydra:Classes. Do

It does in the sense that it allows you to realize the same use case, i.e., searching for instance of a specific class. We are still discussing that, right? In general, I find it better to keep the discussions concrete instead of abstracting them too much. Relating a IRI template to a class is too abstract to be reasonably discussed IMHO.


> you propose to create a specific entry point class that would link to
> hydra:Collections and those in turn would be related to
> hydra:IriTemplates via hydra:TemplatedLinks?

Yep, via hydra:search or hydra:filter (if we decide to introduce it) to be precise.



--
Markus Lanthaler
@markuslanthaler

Received on Thursday, 26 June 2014 12:03:18 UTC