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

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

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

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).

iotivity-dev mailing list

Reply via email to