Re: [Specifications] use manages block to advertise type of collection members

Review status: all files reviewed at latest revision, 3 unresolved discussions.

---

*[drafts/use-cases/0.intro.md, line 89 at r2](https://reviewable.io:443/reviews/hydracg/specifications/132#-KrWt32Z1UxZkNXLNAXm:-KrbPsgUmiZQKve7_j6J:b-zcjvte) ([raw file](https://github.com/hydracg/specifications/blob/8c2db652e54f3e4ed52b855e05c73330d9d2d2ea/drafts/use-cases/0.intro.md#L89)):*
<details><summary><i>Previously, elf-pavlik (elf Pavlik) wrote…</i></summary><blockquote>

captured in https://github.com/HydraCG/Specifications/issues/133
</blockquote></details>

Thanks

---

*[drafts/use-cases/5.creating-new-event.md, line 29 at r1](https://reviewable.io:443/reviews/hydracg/specifications/132#-KrT4ZeUK43qWAnpOI76:-KrbQuq-JrSWABguh6EA:bapmyay) ([raw file](https://github.com/hydracg/specifications/blob/7a85c04e5cbfa0958d3ffd64bb3fafbb423a1361/drafts/use-cases/5.creating-new-event.md#L29)):*
<details><summary><i>Previously, tpluscode (Tomasz Pluskiewicz) wrote…</i></summary><blockquote>

Well, my point precisely (see the comment above). If the representation contained multiple `hydra:collection`links to multiple unrelated resources, the client would not be able to determine which one to dereference. Unless they are meant to be direct alternatives. Unless the `manages`-block will be mandatory...
</blockquote></details>

Correct, you do need the manages block to differentiate them. The advantage is that it allows you to describe things without having to invent new concepts. Assuming `X` points to `Y` via `hydra:collection`, manages can be used to express that 
 * all entries in `Y` are of a specific type:
    `"manages": { "property": "rdf:type", "object": "schema:Event" }`
 * all entries in `Y`stand in a specific relationship with `X`: 
    `"manages": { "subject": "X", "property": "schema:knows" }`
 * all entries in `Y` have a a specific property set to a specific value:
    `"manages": { "property": "schema:gender", "object": "schema:Female" }`

We can even allow multiple of them at the same time, so we would be able to express that there's a collection which manages entities of type `schema:Person`, that `X` `schema:knowns` and have `schema:gender``schema:Female`; in other words a collection containing `X`'s female acquaintances. That's pretty powerful.

Is that concern here actually that it looks more complex/is more verbose or that it has weaker semantics? I can agree with the former but don't think the latter is true.

---


*Comments from [Reviewable](https://reviewable.io:443/reviews/hydracg/specifications/132)*
<!-- Sent from Reviewable.io -->


-- 
GitHub Notification of comment by lanthaler
Please view or discuss this issue at https://github.com/HydraCG/Specifications/pull/132#issuecomment-322572142 using your GitHub account

Received on Tuesday, 15 August 2017 20:04:20 UTC