[Specifications] CreateAction with HTTP PUT

elf-pavlik has just created a new issue for https://github.com/HydraCG/Specifications:

== CreateAction with HTTP PUT ==
[5. Creating new resources](https://github.com/HydraCG/Specifications/blob/master/drafts/use-cases/5.creating-new-event.md#considerations) mentions creating resources with PUT

Solid also [supports creating resources with PUT](https://github.com/solid/solid-spec/blob/master/api-rest.md#http-put-to-create)

In Vimeo API review we also find creating resources with PUT https://github.com/HydraCG/Specifications/issues/134#issuecomment-333393649

Last but not least, in open source project, which I currently work on, we also don't use POST and always create new resources with PUT relying on clients generating UUID ( actually https://github.com/ericelliott/cuid)

In [use cases Entry Point](https://github.com/HydraCG/Specifications/blob/master/drafts/use-cases/1.entry-point.md#details) we find definition of `schema:CreateAction` using HTTP POST
```json
      {
        "@type": ["hydra:Operation", "schema:CreateAction"],
        "title": "Create new event",
        "method": "POST",
        "expects": "schema:Event"
      }
```
Challenge for HTTP PUT seems related to not having an "@id" for the resource which client needs to perform operation on. Most likely we would just have an URI Template, which I see something relevant discussed in #118 (Specifying operations on TemplatedLink objects) and touched in #100 (Describe/ specify how the target IRI for an hydra:operation is resolved).

As for the `IriTemplateMapping` it seems to require for value of `hydra:property` an `rdf:Property` with `rdfs:range` UUID.


Please view or discuss this issue at https://github.com/HydraCG/Specifications/issues/141 using your GitHub account

Received on Sunday, 1 October 2017 18:28:50 UTC