- From: elf Pavlik via GitHub <sysbot+gh@w3.org>
- Date: Sun, 05 Nov 2017 16:47:24 +0000
- To: public-hydra-logs@w3.org
Good catch, I think we would have search directly on the collection ```json { "@context": { ... }, "@id": "http://api.example.com/issues", "@type": "hydra:Collection", "search": { "@type": "IriTemplate", "template": "http://api.example.com/issues{?q}", "variableRepresentation": "BasicRepresentation", "mapping": [{ "@type": "IriTemplateMapping", "variable": "q", "property": "hydra:freetextQuery", "required": true }] }, "operation": [{ "@type": ["Operation", "schema:SearchAction"], "method": "POST", "???:contentType": "application/sparql-query" }, { "@type": ["Operation", "schema:CreateAction"], "method": "POST", "expects": "foo:Issue", "???:contentType": "application/ld+json" }] } ``` Or collection would 'delegate' it to different resource via `hydra:search` ```json { "@context": { ... }, "@id": "http://api.example.com/issues", "@type": "hydra:Collection", "search": [{ "@type": "IriTemplate", "template": "http://api.example.com/issues/search{?q}", "variableRepresentation": "BasicRepresentation", "mapping": [{ "@type": "IriTemplateMapping", "variable": "q", "property": "hydra:freetextQuery", "required": true }] }, { "@id": "http://api.example.com/issues/search", "operation": { "@type": ["Operation", "schema:SearchAction"], "method": "POST", "???:contentType": "application/sparql-query" } }], "operation": { "@type": ["Operation", "schema:CreateAction"], "method": "POST", "expects": "foo:Issue", "???:contentType": "application/ld+json" } } ``` So client needs to check collection for: * direct `schema:SearchAction` operation * delegation to another `hydra:Resource` via `hydra:search` and `schema:SearchAction` on that resource * delegation to `hydra:IriTemplate` via `hydra:search` which has 'a default operation` (HTTP GET) I think with just added in #143 `hydra:memberTemplate` #16 and `schema:AddAction` we may head in similar direction, or at list for now: * direct `schema:CreateAction` operation * delegation to `hydra:IriTemplate` via `hydra:memberTemplate` which has `schema:CreateAction` operation And #134 might bring need for something like `schema:AddAction` into the game and don't really work with `hydra:memberTemplate`. I think in this issue we can focus on `hydra:search` and `schema:SearchAction` with direct `GET` & `POST` as well as delegating to other resources and templates. Once we get better picture of that we can see how it works with other links and templated links like `hydra:memberTemplate`. -- GitHub Notification of comment by elf-pavlik Please view or discuss this issue at https://github.com/HydraCG/Specifications/issues/149#issuecomment-341987051 using your GitHub account
Received on Sunday, 5 November 2017 16:47:26 UTC