- From: elf Pavlik via GitHub <sysbot+gh@w3.org>
- Date: Sat, 21 Oct 2017 00:22:28 +0000
- To: public-hydra-logs@w3.org
> again, more complicated than "the target is the parent. period" > [...] > ditto, if the parent is a template use that. and no need for additional core term I would prefer that we don't discuss it in terms of some specific framing of JSON-LD and keep in mind that people may prefer to use Turtle or any other serialization. I'll try to stick to Statement (Triple or Quad) and `s, p, o` in all further comments! >> instances of hydra:Operation which resource references via hydra:action > no idea what that means all the operations matching ```ttl </some-resource> hydra:action ?operation ``` > I still don't understand the distinction between `operation` and `action`. This is pure confusion. As discussed in #3 currently `hydra:operation` implies that `target` of an `Operation` (`"target"" { "@reverse": "operation" }`) while [`schema:potentialAction`](https://schema.org/potentialAction) does not act as reverse of [`schema:target](http://schema.org/target). This allows resources in schema.org to reference instances of `schema:Action` which have `schema:target` other than the resource itself. I would like us to consider also providing such option in Hydra. >> Is there any particular reason why `"hydra:addMember"` has an `@id` > Indeed there is. This is not an operation. It's a link. In triples it would be represented as `</api/events> hydra:addMember </api/events/new>. I realise that the I chose the predicate poorly. The intention was for a link between the collection and the resource used to created new members. The `target` in the terminology you use. Does it mean that in [UC#1 Entry point](https://github.com/HydraCG/Specifications/blob/master/drafts/use-cases/1.entry-point.md#details) we would have to add statement `</api/events> hydra:addMember </api/events>` ? ``` diff { "@id": "/api/events", "title": "List of events", "@type": "hydra:Collection", "manages": { "property": "rdf:type", "object": "schema:Event" }, + "hydra:addMember": "/api/events", "operation": { "@type": ["hydra:Operation", "schema:CreateAction"], "title": "Create new event", "method": "POST", "expects": "schema:Event" } } ``` In approach I propose we could simply reuse `schema:AddAction` instead having to define `hydra:addMember`. But now I notice that if we would have ```ttl </api/events> schema:potentialAction [ a hydra:Operation, schema:AddAction, schema:CreateAction ; schema:target </api/events/new> ] . ``` `schema:AddAction` should apply to </api/events> but `schema:CreateAction should apply to </api/events/new>` so we get ugly ambiguity here. We could still have ```ttl </api/events> schema:potentialAction [ a hydra:Operation, schema:AddAction ; schema:target </api/events/new> ] . </api/events/new> hydra:operation [ a hydra:Operation, schema:CreateAction ] . ``` -- GitHub Notification of comment by elf-pavlik Please view or discuss this issue at https://github.com/HydraCG/Specifications/issues/141#issuecomment-338350127 using your GitHub account
Received on Saturday, 21 October 2017 00:22:30 UTC