中國聯通研究院 北京 100032
語義技術是一種描述真實世界中數據和實體的技術,以便機器能夠根據語義描述對數據和實體進行理解并做出處理。萬維網之父蒂姆·伯納斯-李在1998年將語義技術引入到互聯網中,提出了語義網(Semantic Web)的概念,以期望未來互聯網能夠智能地處理和提供信息[1]。為了推動語義網,萬維網聯盟(W3C)成立了專門的語義工作組,對語義網技術進行了深入研究,并建議將語義網構建在其所提的RDF上[2]。物聯網(Internet of Things)作為互聯網向物的延伸,同樣可以引入語義技術。
目前隨著物聯網的快速發展,物聯網設備類型日益繁多,各種物聯網行業應用平臺層出不窮,物聯網越來越面臨異構化的問題,主要包括數據的異構化、應用平臺的異構化以及設備和應用的異構化。在物聯網不斷異構化發展的同時,物聯網用戶的需求也在不斷提高,用戶開始表現出對多設備聯動以及多數據融合的需求。為了滿足用戶需求,物聯網應用對物聯網平臺的資源提供和處理能力提出了更高的要求,期望平臺能夠準確智能地提供應用需求的數據和設備資源,簡化應用的處理。
為了解決物聯網發展中遇到的這些問題,歐盟FP7 IERC項目最早提出將語義技術引入到物聯網中,通過語義技術解決物聯網異構化環境下互操作的問題[3]。ETSI在制定物聯網標準時考慮將語義技術引入到物聯網中,在解決互操作問題的同時,提升物聯網平臺數據查詢和數據融合處理方面的智能性[4]。OneM2M在制定物聯網標準時,將語義技術引入到物聯網中,除了在互操作、資源查詢和數據融合處理方面的增強外,還要求物聯網平臺具有知識推理的能力,以滿足復雜多變的應用需求[5]。
物聯網語義架構從高層的角度給出了物聯網語義功能的實現框架,是實現物聯網語義功能的基礎。本論文基于水平化的物聯網總體架構,從參考模型、功能模型和功能框架的角度構建出物聯網語義架構,將支撐物聯網應用的語義功能分解,模塊化并映射到業務層中,以滿足物聯網應用對物聯網平臺語義能力的需求。
目前,標準物聯網參考模型大體分為四層:應用層、業務層、網絡層和設備層[6]。本論文所考慮的物聯網語義參考模型基于標準物聯網參考模型設計,如圖1所示,主要關注在業務層提供語義能力,用以支撐物聯網應用對語義能力的需求。

圖1 物聯網語義參考模型
本論文將業務層中提供語義功能的邏輯實體稱為語義功能中間件。圖1所示的語義參考模型中,主要包含應用和語義功能中間件兩個實體,其中應用實體位于應用層,語義功能中間件實體位于業務層。語義功能中間件屬于邏輯實體,可以包含在業務層中間件中。應用和語義功能中間件之間通過應用層與業務層之間的Mca參考點相連,語義功能中間件之間通過業務層內水平參考點Mcc參考點相連。應用可以通過Mca參考點請求語義功能中間件提供語義能力滿足應用需求。當應用請求的語義功能中間件無法提供應用所需的語義能力時,該語義功能中間件可以通過Mcc參考點調用其他語義功能中間件提供的語義能力滿足應用的需求。
部署中語義功能中間件在設備域和基礎設施域的節點上均可部署,其中設備域主要包含物聯網終端等物聯網設備節點,基礎設施域主要包含物聯網網關、物聯網平臺和物聯網應用服務器等物聯網基礎設施節點。
物聯網語義功能模型主要用于支撐物聯網語義功能的實現。本論文提出的物聯網語義功能模型如圖2所示,其功能實現大體可以分為三個層面。第一個層面,提供可調用的物聯網底層資源(包括數據資源和設備資源),主要由設備抽象、數據交互和數據存儲等功能模塊構成。數據交互模塊主要向物聯網設備交互數據,設備抽象模塊主要是將數據交互模塊所交互數據(包括采集數據和控制數據)的數據格式進行抽象從而標準化供上層處理。第二個層面,對底層資源增加語義注釋以提供語義化的資源,主要由本體建模、本體庫、語義注釋及語義數據存儲等功能模塊構成,其中本體建模和本體庫分別提供語義注釋的模板和知識基礎,語義數據存儲功能提供對資源語義注釋后的語義數據的存儲。第三個層面,基于語義化的資源為應用提供語義查詢、語義推理以及語義組合等功能,以滿足應用需求。
語義功能框架將物聯網語義功能模型與物聯網語義參考模型結合,將語義功能模型中的功能提取并映射到參考模型中的語義功能中間件實體和參考點中。本論文提出的物聯網語義功能框架如圖3所示。

圖2 物聯網語義功能模型

圖3 物聯網語義功能框架
1) 參考點功能。①Mca參考點:需提供語義接口,該語義接口基于語義協議,能夠正確交互語義信息并支持語義查詢。②Mcc參考點:需提供語義接口,該語義接口基于語義協議,能夠正確交互語義信息并支持語義查詢
2) 語義中間件功能。①語義注釋:支持基于本體知識和資源描述模板對資源進行語義描述,可以由本地業務層中間件在資源注冊時發起,為注冊的資源進行語義注釋。②語義查詢:支持基于語義信息的資源查詢,可以被本地應用、本地業務層中間件或者其他業務層中間件通過發送語義查詢請求觸發。收到語義查詢請求后,語義查詢功能需返回匹配的資源信息。③語義推理:支持基于本體知識根據對資源語義注釋后的語義數據推理出更多的潛在信息,可以被本地業務層中間件或者其他業務層中間件通過發送語義推理請求觸發。語義推理功能需能夠通過URI訪問內部和外部的本體以實現推理。④語義組合:可以根據本地知識或者語義規則組合現有的資源創建出符合本地知識或者語義規則語義描述的新的虛擬資源,可以被本地業務層中間件或者其他業務層中間件通過發送語義組合請求觸發。
3) 與語義中間件相關的其他功能。①數據存儲和管理功能:是業務層中間件可以提供的功能之一,提供數據的存儲和管理。為支持物聯網語義功能的實現,數據存儲和管理功能需支持本體庫文件的存儲以及語義數據文件的存儲,即支持.rdf或者.owl等格式文件的存儲。本地業務層中間件或者其他業務層中間件可以通過URI來訪問相應的本體庫文件以及語義數據文件。
在部署中,不同的物聯網節點均可以部署語義中間件。視物聯網節點類型和功能不同,可以部署語義中間件的全部功能也可以是有選擇地部署部分功能。
物聯網語義建模主要是建立物聯網資源描述的模板,方便對資源進行語義注釋。
本論文涉及的物聯網語義建模分為兩個方面:資源建模和關系建模,其中資源建模是對物聯網資源本身進行建模,關系建模則是對物聯網資源和感知環境之間的關系進行建模。
1) 資源建模。分為三個層次:概念模型建模、類型模型建模以及實例模型建模。
概念模型是針對概念建立的每個概念對應的資源描述模板。類型模型是針對每個概念中子類型建立的資源描述模板。實例模型則是針對每個具體的資源實例建立的資源描述模板。
建模時,類型模型建模以類型所屬概念的概念模型為基礎進行建模,實例模型建模則以實例所屬類型的類型模型為基礎進行建模。
圖4以設備建模為例,給出了資源建模的示意圖。

圖4 物聯網資源建模示意圖
2) 關系建模。關系建模是對物聯網資源和感知環境之間的關系進行建模,主要涉及物聯網設備相關的環境要素與物聯網設備之間關系的建模。
本論文考慮的關系建模方法是將關系作為一種對象,并將該對象與物聯網設備操作和環境要素相關聯。
與資源建模的三個層次相對應,關系建模同樣分概念模型建模、類型模型建模和實例模型建模三個層面。
圖5以測量關系為例,給出了關系建模的示意圖。

圖5 物聯網關系建模示意圖
本體表示是用本體語言將物聯網語義建模的結果進行表示,從而構建出物聯網語義本體庫。本體表示主要針對概念模型和類型模型進行表示,以概念模型為基礎。
常用的本體表示語言主要是W3C推薦使用的OWL語言[7]。該語言基于RDF[8]三元組(主體、關系、客體)的方式進行關系描述。OWL語言主要元素有:Class和Property,其中Class表示類,Property表示關系。基于Class和Property可以通過三元組的方式來表示出類與類之間的關系。Property又被細分為兩類,一類是Object Property用于表示對象類之間的關系,另一類是Data Property用于表示對象類與數據類之間的關系。
表1和表2以設備建模為例,給出了一個基于OWL語言的本體表示的示意。

表1 設備模板本體表示分類示意

表2 設備模板本體表示關系示意
語義注釋是根據資源的信息以語義建模的本體表示為基礎來描述資源,對應于實例模型的描述。
語義注釋同樣可以基于OWL語言采用RDF三元組的方式進行描述。
表3和表4以溫度傳感器資源Temp_sensor123的語義注釋為例,給出了語義注釋的示意。

表3 資源實例語義注釋分類示意

表4 資源實例語義注釋關系示意
對應的基于RDF的OWL語言描述為

其中RDF文件路徑假設為http://example/,本體名為Ontology,路徑假設為http://Ontology#。
語義查詢技術根據語義描述的查詢條件對語義數據進行搜索,從而找到目標語義數據。
目前語義查詢的描述主要基于W 3 C推薦的SPARQL語言實現[9]。與OWL語言類似,SPARQL語言同樣基于RDF三元組的方式進行描述。SPARQL的基本格式如下:


查詢時,根據SPARQL描述的三元組關系對.rdf或者.owl文件中的RDF三元組數據進行匹配從而找到目標對象。
語義推理技術利用本體中的知識對語義注釋數據進行理解以從語義注釋數據中獲得一些隱性關系。比如某個資源的語義注釋數據中表明該資源是一個“日光燈”,語義推理技術根據本體中的知識“日光燈”是“燈”的一個子類,可以推理出該資源同時是一個“燈”。這樣進行語義查詢時,即使使用詞匯“燈”也同樣能夠找到該資源。
目前,語義推理主要基于一階邏輯進行,支持前向推理和后向推理。前向推理主要是根據三元組的前兩元推斷第三元,后向推理主要是根據三元組的后兩元推斷第一元。常用的語義推理引擎主要有FaCT++,HermiT和CWM等。
語義推理后會根據推理出的隱性關系為資源添加新的語義注釋,即新的三元組數據。圖6以日光燈為例,給出了語義推理過程的示意。

圖6 日光燈語義推理
語義技術的引入,可以利用語義有效定義不同資源之間的關系,從而使得根據資源之間的關系對資源進行組合成為可能。
語義組合技術利用語義信息對現有的資源進行組合形成新的資源以滿足需求。在本體中某個概念可能是多個概念的邏輯組合,當某個語義查詢的概念指向多個資源時,可以利用語義組合技術將這些資源組合成一個虛擬的資源并注釋上本體中與該組合對應的概念。
語義組合的實現主要是基于語義推理和查詢找到相關資源,然后根據本體和語義規則邏輯組合相關資源,建立新的虛擬資源。比如在實現對應“房間A”的“平均溫度”的虛擬資源組合時,首先查詢與“房間A”的“溫度”以測量關系所關聯的測溫操作得到這些測溫操作對應的N個測量參數A_1,A_2,…,A_N,然后生成新的參數A,根據語義規則中“平均”運算的邏輯(所有輸入變量相加除以輸入變量數目)參數A的value值等于參數A_1到A_N的value值之和除以N。最后,根據本體的描述模型建立新的虛擬設備資源并創建測量參數為參數A的測量操作作為新的虛擬設備資源的屬性,再將創建的測量操作與“房間A”的“平均溫度”以測量關系關聯。
物聯網語義概念的提出源于解決物聯網飛速發展過程中形成的異構互聯以及平臺智能化的需求。物聯網語義采用語義的方式來描述資源,使得資源的描述具有良好的可讀性,易于機器理解和處理,從而實現語義互操作、語義查詢、語義推理和語義組合等功能。
然而由于語義的復雜性,物聯網語義的發展很難一蹴而就,需要經歷一個由簡單變復雜的發展過程,在發展中逐漸增強。從技術實現的復雜度來看,物聯網語義的發展可以分為三個階段。
第一個階段為簡單語義階段,該階段平臺只提供語義注釋的功能以支持語義互操作,而對語義數據的處理由應用自行處理。
第二個階段為弱語義階段,該階段平臺除了提供語義注釋的功能外,還支持語義查詢,對語義數據的處理仍由應用自行處理。
第三個階段為強語義階段,該階段平臺具有全部的語義功能,可以支持語義注釋、語義數據的查詢以及語義處理。
參考文獻
[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/