物联网语义架构和语义关键技术研究
2014-05-18
中国联通研究院 北京 100032
引言
语义技术是一种描述真实世界中数据和实体的技术,以便机器能够根据语义描述对数据和实体进行理解并做出处理。万维网之父蒂姆·伯纳斯-李在1998年将语义技术引入到互联网中,提出了语义网(Semantic Web)的概念,以期望未来互联网能够智能地处理和提供信息[1]。为了推动语义网,万维网联盟(W3C)成立了专门的语义工作组,对语义网技术进行了深入研究,并建议将语义网构建在其所提的RDF上[2]。物联网(Internet of Things)作为互联网向物的延伸,同样可以引入语义技术。
目前随着物联网的快速发展,物联网设备类型日益繁多,各种物联网行业应用平台层出不穷,物联网越来越面临异构化的问题,主要包括数据的异构化、应用平台的异构化以及设备和应用的异构化。在物联网不断异构化发展的同时,物联网用户的需求也在不断提高,用户开始表现出对多设备联动以及多数据融合的需求。为了满足用户需求,物联网应用对物联网平台的资源提供和处理能力提出了更高的要求,期望平台能够准确智能地提供应用需求的数据和设备资源,简化应用的处理。
为了解决物联网发展中遇到的这些问题,欧盟FP7 IERC项目最早提出将语义技术引入到物联网中,通过语义技术解决物联网异构化环境下互操作的问题[3]。ETSI在制定物联网标准时考虑将语义技术引入到物联网中,在解决互操作问题的同时,提升物联网平台数据查询和数据融合处理方面的智能性[4]。OneM2M在制定物联网标准时,将语义技术引入到物联网中,除了在互操作、资源查询和数据融合处理方面的增强外,还要求物联网平台具有知识推理的能力,以满足复杂多变的应用需求[5]。
1 物联网语义架构
物联网语义架构从高层的角度给出了物联网语义功能的实现框架,是实现物联网语义功能的基础。本论文基于水平化的物联网总体架构,从参考模型、功能模型和功能框架的角度构建出物联网语义架构,将支撑物联网应用的语义功能分解,模块化并映射到业务层中,以满足物联网应用对物联网平台语义能力的需求。
1.1 语义参考模型
目前,标准物联网参考模型大体分为四层:应用层、业务层、网络层和设备层[6]。本论文所考虑的物联网语义参考模型基于标准物联网参考模型设计,如图1所示,主要关注在业务层提供语义能力,用以支撑物联网应用对语义能力的需求。
图1 物联网语义参考模型
本论文将业务层中提供语义功能的逻辑实体称为语义功能中间件。图1所示的语义参考模型中,主要包含应用和语义功能中间件两个实体,其中应用实体位于应用层,语义功能中间件实体位于业务层。语义功能中间件属于逻辑实体,可以包含在业务层中间件中。应用和语义功能中间件之间通过应用层与业务层之间的Mca参考点相连,语义功能中间件之间通过业务层内水平参考点Mcc参考点相连。应用可以通过Mca参考点请求语义功能中间件提供语义能力满足应用需求。当应用请求的语义功能中间件无法提供应用所需的语义能力时,该语义功能中间件可以通过Mcc参考点调用其他语义功能中间件提供的语义能力满足应用的需求。
部署中语义功能中间件在设备域和基础设施域的节点上均可部署,其中设备域主要包含物联网终端等物联网设备节点,基础设施域主要包含物联网网关、物联网平台和物联网应用服务器等物联网基础设施节点。
1.2 语义功能模型
物联网语义功能模型主要用于支撑物联网语义功能的实现。本论文提出的物联网语义功能模型如图2所示,其功能实现大体可以分为三个层面。第一个层面,提供可调用的物联网底层资源(包括数据资源和设备资源),主要由设备抽象、数据交互和数据存储等功能模块构成。数据交互模块主要向物联网设备交互数据,设备抽象模块主要是将数据交互模块所交互数据(包括采集数据和控制数据)的数据格式进行抽象从而标准化供上层处理。第二个层面,对底层资源增加语义注释以提供语义化的资源,主要由本体建模、本体库、语义注释及语义数据存储等功能模块构成,其中本体建模和本体库分别提供语义注释的模板和知识基础,语义数据存储功能提供对资源语义注释后的语义数据的存储。第三个层面,基于语义化的资源为应用提供语义查询、语义推理以及语义组合等功能,以满足应用需求。
1.3 语义功能框架
语义功能框架将物联网语义功能模型与物联网语义参考模型结合,将语义功能模型中的功能提取并映射到参考模型中的语义功能中间件实体和参考点中。本论文提出的物联网语义功能框架如图3所示。
图2 物联网语义功能模型
图3 物联网语义功能框架
1) 参考点功能。①Mca参考点:需提供语义接口,该语义接口基于语义协议,能够正确交互语义信息并支持语义查询。②Mcc参考点:需提供语义接口,该语义接口基于语义协议,能够正确交互语义信息并支持语义查询
2) 语义中间件功能。①语义注释:支持基于本体知识和资源描述模板对资源进行语义描述,可以由本地业务层中间件在资源注册时发起,为注册的资源进行语义注释。②语义查询:支持基于语义信息的资源查询,可以被本地应用、本地业务层中间件或者其他业务层中间件通过发送语义查询请求触发。收到语义查询请求后,语义查询功能需返回匹配的资源信息。③语义推理:支持基于本体知识根据对资源语义注释后的语义数据推理出更多的潜在信息,可以被本地业务层中间件或者其他业务层中间件通过发送语义推理请求触发。语义推理功能需能够通过URI访问内部和外部的本体以实现推理。④语义组合:可以根据本地知识或者语义规则组合现有的资源创建出符合本地知识或者语义规则语义描述的新的虚拟资源,可以被本地业务层中间件或者其他业务层中间件通过发送语义组合请求触发。
3) 与语义中间件相关的其他功能。①数据存储和管理功能:是业务层中间件可以提供的功能之一,提供数据的存储和管理。为支持物联网语义功能的实现,数据存储和管理功能需支持本体库文件的存储以及语义数据文件的存储,即支持.rdf或者.owl等格式文件的存储。本地业务层中间件或者其他业务层中间件可以通过URI来访问相应的本体库文件以及语义数据文件。
在部署中,不同的物联网节点均可以部署语义中间件。视物联网节点类型和功能不同,可以部署语义中间件的全部功能也可以是有选择地部署部分功能。
2 物联网语义关键技术
2.1 物联网语义建模
2.1.1 建模方法
物联网语义建模主要是建立物联网资源描述的模板,方便对资源进行语义注释。
本论文涉及的物联网语义建模分为两个方面:资源建模和关系建模,其中资源建模是对物联网资源本身进行建模,关系建模则是对物联网资源和感知环境之间的关系进行建模。
1) 资源建模。分为三个层次:概念模型建模、类型模型建模以及实例模型建模。
概念模型是针对概念建立的每个概念对应的资源描述模板。类型模型是针对每个概念中子类型建立的资源描述模板。实例模型则是针对每个具体的资源实例建立的资源描述模板。
建模时,类型模型建模以类型所属概念的概念模型为基础进行建模,实例模型建模则以实例所属类型的类型模型为基础进行建模。
图4以设备建模为例,给出了资源建模的示意图。
图4 物联网资源建模示意图
2) 关系建模。关系建模是对物联网资源和感知环境之间的关系进行建模,主要涉及物联网设备相关的环境要素与物联网设备之间关系的建模。
本论文考虑的关系建模方法是将关系作为一种对象,并将该对象与物联网设备操作和环境要素相关联。
与资源建模的三个层次相对应,关系建模同样分概念模型建模、类型模型建模和实例模型建模三个层面。
图5以测量关系为例,给出了关系建模的示意图。
图5 物联网关系建模示意图
2.1.2 本体表示
本体表示是用本体语言将物联网语义建模的结果进行表示,从而构建出物联网语义本体库。本体表示主要针对概念模型和类型模型进行表示,以概念模型为基础。
常用的本体表示语言主要是W3C推荐使用的OWL语言[7]。该语言基于RDF[8]三元组(主体、关系、客体)的方式进行关系描述。OWL语言主要元素有:Class和Property,其中Class表示类,Property表示关系。基于Class和Property可以通过三元组的方式来表示出类与类之间的关系。Property又被细分为两类,一类是Object Property用于表示对象类之间的关系,另一类是Data Property用于表示对象类与数据类之间的关系。
表1和表2以设备建模为例,给出了一个基于OWL语言的本体表示的示意。
表1 设备模板本体表示分类示意
表2 设备模板本体表示关系示意
2.1.3 语义注释
语义注释是根据资源的信息以语义建模的本体表示为基础来描述资源,对应于实例模型的描述。
语义注释同样可以基于OWL语言采用RDF三元组的方式进行描述。
表3和表4以温度传感器资源Temp_sensor123的语义注释为例,给出了语义注释的示意。
表3 资源实例语义注释分类示意
表4 资源实例语义注释关系示意
对应的基于RDF的OWL语言描述为
其中RDF文件路径假设为http://example/,本体名为Ontology,路径假设为http://Ontology#。
2.2 语义查询
语义查询技术根据语义描述的查询条件对语义数据进行搜索,从而找到目标语义数据。
目前语义查询的描述主要基于W 3 C推荐的SPARQL语言实现[9]。与OWL语言类似,SPARQL语言同样基于RDF三元组的方式进行描述。SPARQL的基本格式如下:
查询时,根据SPARQL描述的三元组关系对.rdf或者.owl文件中的RDF三元组数据进行匹配从而找到目标对象。
2.3 语义推理
语义推理技术利用本体中的知识对语义注释数据进行理解以从语义注释数据中获得一些隐性关系。比如某个资源的语义注释数据中表明该资源是一个“日光灯”,语义推理技术根据本体中的知识“日光灯”是“灯”的一个子类,可以推理出该资源同时是一个“灯”。这样进行语义查询时,即使使用词汇“灯”也同样能够找到该资源。
目前,语义推理主要基于一阶逻辑进行,支持前向推理和后向推理。前向推理主要是根据三元组的前两元推断第三元,后向推理主要是根据三元组的后两元推断第一元。常用的语义推理引擎主要有FaCT++,HermiT和CWM等。
语义推理后会根据推理出的隐性关系为资源添加新的语义注释,即新的三元组数据。图6以日光灯为例,给出了语义推理过程的示意。
图6 日光灯语义推理
2.4 语义组合
语义技术的引入,可以利用语义有效定义不同资源之间的关系,从而使得根据资源之间的关系对资源进行组合成为可能。
语义组合技术利用语义信息对现有的资源进行组合形成新的资源以满足需求。在本体中某个概念可能是多个概念的逻辑组合,当某个语义查询的概念指向多个资源时,可以利用语义组合技术将这些资源组合成一个虚拟的资源并注释上本体中与该组合对应的概念。
语义组合的实现主要是基于语义推理和查询找到相关资源,然后根据本体和语义规则逻辑组合相关资源,建立新的虚拟资源。比如在实现对应“房间A”的“平均温度”的虚拟资源组合时,首先查询与“房间A”的“温度”以测量关系所关联的测温操作得到这些测温操作对应的N个测量参数A_1,A_2,…,A_N,然后生成新的参数A,根据语义规则中“平均”运算的逻辑(所有输入变量相加除以输入变量数目)参数A的value值等于参数A_1到A_N的value值之和除以N。最后,根据本体的描述模型建立新的虚拟设备资源并创建测量参数为参数A的测量操作作为新的虚拟设备资源的属性,再将创建的测量操作与“房间A”的“平均温度”以测量关系关联。
3 物联网语义发展展望
物联网语义概念的提出源于解决物联网飞速发展过程中形成的异构互联以及平台智能化的需求。物联网语义采用语义的方式来描述资源,使得资源的描述具有良好的可读性,易于机器理解和处理,从而实现语义互操作、语义查询、语义推理和语义组合等功能。
然而由于语义的复杂性,物联网语义的发展很难一蹴而就,需要经历一个由简单变复杂的发展过程,在发展中逐渐增强。从技术实现的复杂度来看,物联网语义的发展可以分为三个阶段。
第一个阶段为简单语义阶段,该阶段平台只提供语义注释的功能以支持语义互操作,而对语义数据的处理由应用自行处理。
第二个阶段为弱语义阶段,该阶段平台除了提供语义注释的功能外,还支持语义查询,对语义数据的处理仍由应用自行处理。
第三个阶段为强语义阶段,该阶段平台具有全部的语义功能,可以支持语义注释、语义数据的查询以及语义处理。
参考文献
[1]Tim Berners-Lee,Hendler J,Lassila O.The Semantic Web[J/OL].[2014-08-10].http://www.scientificamerican.com/article/the-semantic-web/
[2]W3C.W3C Semantic Web Activity[EB/OL].[2014-08-10].http://www.w3.org/2001/sw/
[3]IERC-AC4.Semantic Interoperability:Research Challenges,Best Practices,Solutions and Next Steps[R]
[4]ETSI TR 101 584.Machine-to-Machine communication(M2M):Study on Semantic support for M2M Data[R]
[5]oneM2M TR-0007.Study of Abstraction and Semantics enablement[R]
[6]ITU-T.Y.2060: Overview of Internet of Things[S]
[7]W3C.Web Ontology Language Document Overview [EB/OL][2014-08-10].http://www.w3.org/TR/ owl2-overview/
[8]W3C.Resource Description Framework:Concepts and Abstract Syntax [EB/OL][2014-08-10].http://www.w3.org/TR /rdf-concepts/
[9]W3C.SPARQL Overview [EB/OL][2014-08-10].http://www.w3.org/TR/sparql11-overview/