Re: [Specifications] Simplify discovery of collections that contain resources of a certain type

I propose to move conversation from [the review of #132](https://reviewable.io/reviews/hydracg/specifications/132#-KrUSFWcxbytETQ1yIEc) to here

> @asbjornu: What I mean is that replacing the API-specific term loses the link type between one resource (the Entrypoint) and the other (List of events). I think that the link relation trumps the manages block, so to speak.

> As for the client though, a way to discover collection of a given type may be useful. How would you like it to be based on `"@type": "hydra:Collection`" and the `manages`-block and not the predicate type? This way you can keep a more informative link predicate


> @lanthaler: If such a relation exists, then yes, it should be used. This is for cases where no such relations exists yet and would only be created for the sake of being able to connect some entity with a collection.

> @asbjornu: Hm, wouldn't it be a good rule of thumb to mint an API-specific property for any such case? I think that is precisely what you did in events example...

> @lanthaler: Yeah, it's exactly what I did in the events example.. but only because there was nothing else available. The goal is to create clients that "understand" these APIs to some degree so that they can figure out how to use them. **If everyone mints property like myvocab:events only clients that have been written specifically for that API will understand them. If we have a generic mechanisms as the one Pavlik proposes here on the other hand, we can implement client libraries that can find the collection that contains all events.** [emphasis added by @elf-pavlik]

>A custom link relation is only useful if it has some well-defined semantics that you can't convey otherwise.


I would add that I've only seen defined link relations / rdf predicated with a collection in range in very few cases. For example in [ActivityPub draft](http://w3c.github.io/activitypub/#actor-objects) with *following* and *followers* which attempts to address exactly the same use case which led us to `manages` block in [Collection Design](https://www.w3.org/community/hydra/wiki/Collection_Design).

-- 
GitHub Notification of comment by elf-pavlik
Please view or discuss this issue at https://github.com/HydraCG/Specifications/issues/126#issuecomment-322320409 using your GitHub account

Received on Monday, 14 August 2017 21:53:54 UTC