On Mar 2, 2018 10:35 AM, "Mats Wichmann" <m...@wichmann.us> wrote:
On 03/01/2018 02:15 PM, Gregg Reynolds wrote: > > This still leaves me wondering if there is an example that shows a > reasonable use case for CREATE and DELETE. A resource in the REST space is an abstract thing. The OCF Core specs don't say much about this, as they defer to other documents (W3C, mainly), but when they do they veer away from the abstract nature. From definitions: 3.1.23 Resource represents an Entity modelled and exposed by the Framework 3.1.9 Entity an aspect of the physical world that is exposed through a Device I once spent (wasted?) several years of my life wrestling with semantic web and RDF, which is where W3C got these ideas. In the end I concluded such ideas are so general as to be vacuous. Not just useless, but positively harmful. You can see the harm in this thread: the idea that actions on a "resource" may involve physical devices. So you can't create or delete "physical resources". This is a category error. Resources cannot be abstract; if they were, we could have no commerce with them. They also cannot be physical devices; if they were, they could not receive our requests (you cannot talk directly to a physical device, you must go thru software.) The problem goes away if you take "resource" as "(resource) service provider" - a chunk of SW that services CRUDN requests and may maintain state. Creating and deleting such resources is normal, and has nothing to do with physical instruments. Of course whether you want/need to do this is another matter; the point I want to make that is has nothing to do with physical instruments. This is wrong: "RETRIEVE /temp means 'read the physical temp sensor instrument". What it means is "send me a record of the state of the /temp resource service provider". It is a message to the resource SP, not the physical instrument. The /temp resource SP is a black box - the means by which it manages state (e.g. by reading a physical instrument) is irrelevant to the resource model. CRUDN actions have no intrinsic relation to physical devices (except the computers running the code, of course). In practice "resources" are always concrete (physical), but only because all software is concrete (physical). Gregg
_______________________________________________ iotivity-dev mailing list iotivity-dev@lists.iotivity.org https://lists.iotivity.org/mailman/listinfo/iotivity-dev