W3C万维物联网解析:物描述篇
如下图所示,标准进入CR阶段意味着内容已经相对稳定,WD阶段则意味着较大的不确定性,而Working Group Note(工作组备忘)则变数很大。因此处于CR阶段的“架构”和“物描述”是值得花时间了解的(成为正式推荐标准REC的可能性很大),而处于WD阶段的编程API最近(2019年10月28日)刚刚做了一次大的内容改版,几乎完全废弃了上一版的内容,只能说接近稳定状态,但编程API始终是开发者所喜闻乐见的,所以本系列也会介绍。
W3C Process Document,https://www.w3.org/2019/Process-20190301/#recs-and-notes
{
"@context": "https://www.w3.org/2019/wot/td/v1",
"id": "urn:dev:ops:32473-WoTLamp-1234",
"title": "MyLampThing",
"securityDefinitions": {
"basic_sc": {"scheme": "basic", "in":"header"}
},
"security": ["basic_sc"],
"properties": {
"status" : {
"type": "string",
"forms": [{"href": "https://mylamp.example.com/status"}]
}
},
"actions": {
"toggle" : {
"forms": [{"href": "https://mylamp.example.com/toggle"}]
}
},
"events":{
"overheating":{
"data": {"type": "string"},
"forms": [{
"href": "https://mylamp.example.com/oh",
"subprotocol": "longpoll"
}]
}
}
}
{
"@context": [
"https://www.w3.org/2019/wot/td/v1",
{ "saref": "https://w3id.org/saref#" }
],
"id": "urn:dev:ops:32473-WoTLamp-1234",
"title": "MyLampThing",
"@type": "saref:LightSwitch",
"securityDefinitions": {"basic_sc": {
"scheme": "basic",
"in": "header"
}},
"security": ["basic_sc"],
"properties": {
"status": {
"@type": "saref:OnOffState",
"type": "string",
"forms": [{
"href": "https://mylamp.example.com/status"
}]
}
},
"actions": {
"toggle": {
"@type": "saref:ToggleCommand",
"forms": [{
"href": "https://mylamp.example.com/toggle"
}]
}
},
"events": {
"overheating": {
"data": {"type": "string"},
"forms": [{
"href": "https://mylamp.example.com/oh"
}]
}
}
}
核心TD词汇表,反映属性、动作和事件等交互可识别功能的交互模型; 数据模型词汇表,包括JSON Schema定义的部分术语; WoT安全词汇表,标识安全机制和配置要求; 超媒体控件词汇表,使用Web链接和表单编码REST风格通信的主要规范。
图1 TD核心词汇表
图2 JSON模式词汇表
图3 WoT安全词汇表
图4 超媒体控件词汇表
预定义内容
为了让TD信息模型既适合树形文档的简单规则处理(即原始JSON处理)又适合富语义Web工具处理(如JSON-LD处理),物描述规范作出了一系列正式定义,以供构建TD信息模型。
一个术语,可能属于也可以不属于某个词汇表,是一个对象。 一组名值对,其中名称是一个术语,而值是另一个对象,也是一个对象。
对每一个类的赋值函数返回true的术语,对象都包含一个以该词汇表术语作为名称的名值对; 对每一个在对象名值对中被用作名称的类签名词汇表术语,这个名值对的值都是以该词汇表术语作为参数的该类的类型函数返回的类的实例。
这里引入的形式化不考虑作为抽象数据结构的对象与物理世界对象如物体之间可能存在的关系。不过,物描述规范也考虑到了TD信息模型在作为RDF资源集成到物理世界中更大的模型(ontology,存在)时需要重新解释所有词汇的可能性。规范的附录D.2“物描述存在”对此给出了解决方案。
举例:Thing
如前所述,TD信息模型定义了4个词汇表:核心词汇表、数据模式词汇表、安全词汇表和超媒体控件词汇表。
其他词汇表及词汇,有兴趣的读者可以自行参考WoT物描述规范。
W3C万维物联网解析:架构篇(点击阅读原文查看) “W3C万维物联网标准简介”(点击阅读原文查看) 知乎用户“尧以俊德”的回答:https://www.zhihu.com/question/26469697/answer/537098445
WoT Architecture:https://www.w3.org/TR/wot-architecture/ WoT Thing Description:https://www.w3.org/TR/wot-thing-description/ WoT Scripting API:https://www.w3.org/TR/wot-scripting-api/ WoT Binding Templates:https://www.w3.org/TR/wot-binding-templates/ WoT Security and Privacy Considerations:https://www.w3.org/TR/wot-security/ WoT兴趣组:https://www.w3.org/2019/07/wot-ig-2019.html WoT工作组:https://www.w3.org/2016/12/wot-wg-2016.html
关注我们
界世的你当不
只做你的肩膀
无
360官方技术公众号
技术干货|一手资讯|精彩活动
空·
- 解析物联网三大实时协议
- USB 描述符详细解析,来自老外网站,比协议描述清晰
- Spring源码解析:资源的描述与加载
- Spring 源码框架解析 - 继承层次责任描述
- ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME 错误的解决
- Speex之二-编码描述及相关概念解析
- ORG-12514:TNS:监听进程不能解析在连接描述符中给出的SERVICE_NAME解决方案
- STM32F0_HAL库驱动描述——基于F1的USART串口IT中断实现解析
- 物联网大数据平台软件开发架构案例解析
- jsoup和w3c的dom解析问题记录
- xml文件解析,同步xml文件描述的文件
- javax w3c 网页解析(一)
- Sift算子特征点提取、描述及匹配全流程解析
- SIFT解析(三)生成特征描述子
- 连接Oracle 10g时ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME 错误的解决
- 蓝牙知识【协议栈简图】 【 UUID解析 】 【属性、Characteris、描述符和Service以及profile的关系】【蓝牙无线通道】【INTER FRAME SPACE】【MTU】【缩写词】
- 国内主流短信猫c++接口描述和短信解析代码
- Sift算子特征点提取、描述及匹配全流程解析
- Sift算子特征点提取、描述及匹配全流程解析
- 《嵌入式LINUX与物联网软件开发 C语言内核深度解析》学习3——指针