- From: Dietrich Schulten <ds@escalon.de>
- Date: Sun, 19 Apr 2015 10:59:28 +0200
- To: public-hydra@w3.org, nmihindu@fi.upm.es
Hi Erik, Am 19.04.2015 um 00:41 schrieb Erik Wilde: > hello dietrich. > > On 2015-04-18 11:03, Dietrich Schulten wrote: >> A server which supports RDF-based resources can express possible restful >> interactions in at least three ways (I know of): >> - LDP (mainly for CRUD-style interaction) >> - Schema.org actions >> - Hydra >> As a client, how can I request an interaction style I support? As a >> server, how can I avoid to lump all representations into my responses to >> make sure every RDF client understands me? > > thanks, that's exactly the point i am trying to make. if the media type > only signals the metamodel (and maybe the serialization of it, but > that's a different issue), but the represented domain model is hidden > from the uniform interface, you lose the ability to talk about it. > that's unfortunate, and the main reason why REST asks for resources to > be self-describing. and that means in terms of domain models in the > uniform interface, so that interactions can be built around exposing > those, and acting on them. Although, we need to consider well what it means to say Accept: application/ld+json; profile="<a hydra identifier>". Clearly this should not preclude usage of other vocabularies. If the profile identifier is the hydra prefix, it would be easy to mistake the profile as an expectation to use that vocab and not use others. I want to say: use hydra constructs for interaction and collection descriptions, for everything else do what you want. I found that schema.org just recently designed their own all-purpose ordered collection type (http://schema.org/ItemList). And they have schema:potentialAction, which is designed quite differently from hydra:operation. That is exactly the sort of thing I would like to make negotiable: do I want hydra:operation or schema:potentialAction or LDP OPTIONS to describe interactions, and do I want hydra:Collection or schema:ItemList or ldp:DirectContainer/BasicContainer/IndirectContainer for containers? Following the issue which lead to the ld+json media-type profile parameter [1], the json-ld authors wanted to make it possible to negotiate ld+json structures which basically express the same thing, but in different structures. What I see happening in the future is that people invent private json-ld profiles to differentiate this. We can prevent this for hydra, at least, by defining an official media-type profile value. If so, which profile value would express that collections and interactions should be expressed in terms of hydra? Maybe "http://www.w3.org/ns/hydra/core#Resource"? To those of us who frown upon hydra:Resource, SCNR ;) Best regards, Dietrich PS: the fact that container types proliferate is not a good sign IMO. I wonder why this is so and if it can or should be prevented. But that is a different issue. [1] https://github.com/json-ld/json-ld.org/issues/164
Received on Sunday, 19 April 2015 09:00:01 UTC