ankraft / ACME-oneM2M-CSE

An open source CSE Middleware for Education.
https://acmecse.net/
BSD 3-Clause "New" or "Revised" License
23 stars 16 forks source link

Creating semantic descriptor... #163

Closed alexe100 closed 1 week ago

alexe100 commented 1 week ago

Hi, I am trying to create a semantic descriptor into a AE but I am receiving {"m2m:dbg": "dcrp format must not be IRI"}

How to solve this? Any working (even simple) sample? Thank you

curl -X POST -H 'X-M2M-Origin:CSensorIndoorTemperature' -H 'X-M2M-RI:123' -H 'X-M2M-RVI:3' -H 'Content-Type:application/json;ty=24' -H 'Accept:application/json' -d '{"m2m:smd":{"dsp":"PD94bWwgdmVyc2lvbj0iMS4wIj8+DQogICAgICAgICAgPHJkZjpSREYgeG1sbnM9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS9ob3VzZXNfdGVtcGVyYXR1cmVfZXhhbXBsZSMiDQogICAgICAgICAgICAgICB4bWw6YmFzZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L2hvdXNlc190ZW1wZXJhdHVyZV9leGFtcGxlIg0KICAgICAgICAgICAgICAgeG1sbnM6dGVtcGVyYXR1cmVfZXhhbXBsZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L3RlbXBlcmF0dXJlX2V4YW1wbGUjIg0KICAgICAgICAgICAgICAgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIg0KICAgICAgICAgICAgICAgeG1sbnM6b3dsPSJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCMiDQogICAgICAgICAgICAgICB4bWxuczp4bWw9Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSINCiAgICAgICAgICAgICAgIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjIg0KICAgICAgICAgICAgICAgeG1sbnM6cmRmcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hIyI+DQoNCiAgICAgICAgICAgICAgPG93bDpOYW1lZEluZGl2aWR1YWwgcmRmOmFib3V0PSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUjSG91c2UxIj4NCiAgICAgICAgICAgICAgICAgIDxyZGY6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS90ZW1wZXJhdHVyZV9leGFtcGxlI0hvdXNlIi8+DQogICAgICAgICAgICAgICAgICA8dGVtcGVyYXR1cmVfZXhhbXBsZTpoYXNJbmRvb3JUZW1wZXJhdHVyZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS9ob3VzZXNfdGVtcGVyYXR1cmVfZXhhbXBsZSNJbmRvb3JUZW1wUHJvcGVydHkxIi8+DQogICAgICAgICAgICAgIDwvb3dsOk5hbWVkSW5kaXZpZHVhbD4NCg0KICAgICAgICAgICAgICA8b3dsOk5hbWVkSW5kaXZpZHVhbCByZGY6YWJvdXQ9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS9ob3VzZXNfdGVtcGVyYXR1cmVfZXhhbXBsZSNJbmRvb3JUZW1wUHJvcGVydHkxIj4NCiAgICAgICAgICAgICAgICAgIDxyZGY6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS90ZW1wZXJhdHVyZV9leGFtcGxlI1RlbXBlcmF0dXJlUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICA8dGVtcGVyYXR1cmVfZXhhbXBsZTpoYXNEYXRhdHlwZT54c2Q6aW50PC90ZW1wZXJhdHVyZV9leGFtcGxlOmhhc0RhdGF0eXBlPg0KICAgICAgICAgICAgICAgIDx0ZW1wZXJhdHVyZV9leGFtcGxlOmhhc1VuaXQgcmRmOmRhdGF0eXBlPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNzdHJpbmciPkZhaHJlbmhlaXQ8L3RlbXBlcmF0dXJlX2V4YW1wbGU6aGFzVW5pdD4NCiAgICAgICAgICAgICAgICA8dGVtcGVyYXR1cmVfZXhhbXBsZTp2YWx1ZUlzU3RvcmVkSW4+aHR0cDovLyBpbi5wcm92aWRlci5jb206NzU3OS9zZXJ2ZXIvdGVtcHNlbnNvcmFlMS90ZW1wZXJhdHVyZS9sYXRlc3Q8L3RlbXBlcmF0dXJlX2V4YW1wbGU6dmFsdWVJc1N0b3JlZEluPg0KICAgICAgICAgICAgICA8L293bDpOYW1lZEluZGl2aWR1YWw+DQoNCiAgICAgICAgICAgICAgPG93bDpOYW1lZEluZGl2aWR1YWwgcmRmOmFib3V0PSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUjSW5kb29yVGVtcFNlbnNvcjEiPg0KICAgICAgICAgICAgICAgICAgPHJkZjp0eXBlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L3RlbXBlcmF0dXJlX2V4YW1wbGUjVGVtcGVyYXR1cmVTZW5zb3IiLz4NCiAgICAgICAgICAgICAgICAgIDx0ZW1wZXJhdHVyZV9leGFtcGxlOmhhc1RlbXBlcmF0dXJlTWVhc3VyaW5nRnVuY3Rpb24gcmRmOnJlc291cmNlPSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUjVGVtcEZ1bmN0aW9uMSIvPg0KICAgICAgICAgICAgICA8L293bDpOYW1lZEluZGl2aWR1YWw+DQoNCiAgICAgICAgICAgICAgPG93bDpOYW1lZEluZGl2aWR1YWwgcmRmOmFib3V0PSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUjVGVtcEZ1bmN0aW9uMSI+DQogICAgICAgICAgICAgICAgICA8cmRmOnR5cGUgcmRmOnJlc291cmNlPSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvdGVtcGVyYXR1cmVfZXhhbXBsZSNUZW1wZXJhdHVyZU1lYXN1cmluZ0Z1bmN0aW9uIi8+DQogICAgICAgICAgICAgICAgICA8dGVtcGVyYXR1cmVfZXhhbXBsZTptZWFzdXJlc1RlbXBlcmF0dXJlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L2hvdXNlc190ZW1wZXJhdHVyZV9leGFtcGxlI0luZG9vclRlbXBQcm9wZXJ0eTEiLz4NCiAgICAgICAgICAgICAgPC9vd2w6TmFtZWRJbmRpdmlkdWFsPg0KICAgICAgICAgIDwvcmRmOlJERj4=", "dcrp":1,"acpi":["oneMPOwner-IN-CSE/ACP1"]}}' http://192.168.122.122:8081/cse-mn/CSensorIndoorTemperature

ankraft commented 1 week ago

I am sorry, but the IRI presentation format is not supported by the RDF library that ACME is using for handling semantics and reasoning. Only RDF/XML, JSON-LD, and turtle are supported at the moment. Perhaps I should make this clearer in the documentation.

I hope this doesn't cause too much troubles.

BTW, you can find some examples in the tests: tests/testSMD.py

alexe100 commented 1 week ago

Thanks for pointing to the examples. I did not see them before and no problem about the format.

ankraft commented 1 week ago

I updated this part to provide a more informative error message. It was not very helpful.

I will also try to emphasis the unit tests / examples in the documentation.