中國聯(lián)通研究院 北京 100032
語義技術(shù)是一種描述真實世界中數(shù)據(jù)和實體的技術(shù),以便機器能夠根據(jù)語義描述對數(shù)據(jù)和實體進行理解并做出處理。萬維網(wǎng)之父蒂姆·伯納斯-李在1998年將語義技術(shù)引入到互聯(lián)網(wǎng)中,提出了語義網(wǎng)(Semantic Web)的概念,以期望未來互聯(lián)網(wǎng)能夠智能地處理和提供信息[1]。為了推動語義網(wǎng),萬維網(wǎng)聯(lián)盟(W3C)成立了專門的語義工作組,對語義網(wǎng)技術(shù)進行了深入研究,并建議將語義網(wǎng)構(gòu)建在其所提的RDF上[2]。物聯(lián)網(wǎng)(Internet of Things)作為互聯(lián)網(wǎng)向物的延伸,同樣可以引入語義技術(shù)。
目前隨著物聯(lián)網(wǎng)的快速發(fā)展,物聯(lián)網(wǎng)設備類型日益繁多,各種物聯(lián)網(wǎng)行業(yè)應用平臺層出不窮,物聯(lián)網(wǎng)越來越面臨異構(gòu)化的問題,主要包括數(shù)據(jù)的異構(gòu)化、應用平臺的異構(gòu)化以及設備和應用的異構(gòu)化。在物聯(lián)網(wǎng)不斷異構(gòu)化發(fā)展的同時,物聯(lián)網(wǎng)用戶的需求也在不斷提高,用戶開始表現(xiàn)出對多設備聯(lián)動以及多數(shù)據(jù)融合的需求。為了滿足用戶需求,物聯(lián)網(wǎng)應用對物聯(lián)網(wǎng)平臺的資源提供和處理能力提出了更高的要求,期望平臺能夠準確智能地提供應用需求的數(shù)據(jù)和設備資源,簡化應用的處理。
為了解決物聯(lián)網(wǎng)發(fā)展中遇到的這些問題,歐盟FP7 IERC項目最早提出將語義技術(shù)引入到物聯(lián)網(wǎng)中,通過語義技術(shù)解決物聯(lián)網(wǎng)異構(gòu)化環(huán)境下互操作的問題[3]。ETSI在制定物聯(lián)網(wǎng)標準時考慮將語義技術(shù)引入到物聯(lián)網(wǎng)中,在解決互操作問題的同時,提升物聯(lián)網(wǎng)平臺數(shù)據(jù)查詢和數(shù)據(jù)融合處理方面的智能性[4]。OneM2M在制定物聯(lián)網(wǎng)標準時,將語義技術(shù)引入到物聯(lián)網(wǎng)中,除了在互操作、資源查詢和數(shù)據(jù)融合處理方面的增強外,還要求物聯(lián)網(wǎng)平臺具有知識推理的能力,以滿足復雜多變的應用需求[5]。
物聯(lián)網(wǎng)語義架構(gòu)從高層的角度給出了物聯(lián)網(wǎng)語義功能的實現(xiàn)框架,是實現(xiàn)物聯(lián)網(wǎng)語義功能的基礎(chǔ)。本論文基于水平化的物聯(lián)網(wǎng)總體架構(gòu),從參考模型、功能模型和功能框架的角度構(gòu)建出物聯(lián)網(wǎng)語義架構(gòu),將支撐物聯(lián)網(wǎng)應用的語義功能分解,模塊化并映射到業(yè)務層中,以滿足物聯(lián)網(wǎng)應用對物聯(lián)網(wǎng)平臺語義能力的需求。
目前,標準物聯(lián)網(wǎng)參考模型大體分為四層:應用層、業(yè)務層、網(wǎng)絡層和設備層[6]。本論文所考慮的物聯(lián)網(wǎng)語義參考模型基于標準物聯(lián)網(wǎng)參考模型設計,如圖1所示,主要關(guān)注在業(yè)務層提供語義能力,用以支撐物聯(lián)網(wǎng)應用對語義能力的需求。
圖1 物聯(lián)網(wǎng)語義參考模型
本論文將業(yè)務層中提供語義功能的邏輯實體稱為語義功能中間件。圖1所示的語義參考模型中,主要包含應用和語義功能中間件兩個實體,其中應用實體位于應用層,語義功能中間件實體位于業(yè)務層。語義功能中間件屬于邏輯實體,可以包含在業(yè)務層中間件中。應用和語義功能中間件之間通過應用層與業(yè)務層之間的Mca參考點相連,語義功能中間件之間通過業(yè)務層內(nèi)水平參考點Mcc參考點相連。應用可以通過Mca參考點請求語義功能中間件提供語義能力滿足應用需求。當應用請求的語義功能中間件無法提供應用所需的語義能力時,該語義功能中間件可以通過Mcc參考點調(diào)用其他語義功能中間件提供的語義能力滿足應用的需求。
部署中語義功能中間件在設備域和基礎(chǔ)設施域的節(jié)點上均可部署,其中設備域主要包含物聯(lián)網(wǎng)終端等物聯(lián)網(wǎng)設備節(jié)點,基礎(chǔ)設施域主要包含物聯(lián)網(wǎng)網(wǎng)關(guān)、物聯(lián)網(wǎng)平臺和物聯(lián)網(wǎng)應用服務器等物聯(lián)網(wǎng)基礎(chǔ)設施節(jié)點。
物聯(lián)網(wǎng)語義功能模型主要用于支撐物聯(lián)網(wǎng)語義功能的實現(xiàn)。本論文提出的物聯(lián)網(wǎng)語義功能模型如圖2所示,其功能實現(xiàn)大體可以分為三個層面。第一個層面,提供可調(diào)用的物聯(lián)網(wǎng)底層資源(包括數(shù)據(jù)資源和設備資源),主要由設備抽象、數(shù)據(jù)交互和數(shù)據(jù)存儲等功能模塊構(gòu)成。數(shù)據(jù)交互模塊主要向物聯(lián)網(wǎng)設備交互數(shù)據(jù),設備抽象模塊主要是將數(shù)據(jù)交互模塊所交互數(shù)據(jù)(包括采集數(shù)據(jù)和控制數(shù)據(jù))的數(shù)據(jù)格式進行抽象從而標準化供上層處理。第二個層面,對底層資源增加語義注釋以提供語義化的資源,主要由本體建模、本體庫、語義注釋及語義數(shù)據(jù)存儲等功能模塊構(gòu)成,其中本體建模和本體庫分別提供語義注釋的模板和知識基礎(chǔ),語義數(shù)據(jù)存儲功能提供對資源語義注釋后的語義數(shù)據(jù)的存儲。第三個層面,基于語義化的資源為應用提供語義查詢、語義推理以及語義組合等功能,以滿足應用需求。
語義功能框架將物聯(lián)網(wǎng)語義功能模型與物聯(lián)網(wǎng)語義參考模型結(jié)合,將語義功能模型中的功能提取并映射到參考模型中的語義功能中間件實體和參考點中。本論文提出的物聯(lián)網(wǎng)語義功能框架如圖3所示。
圖2 物聯(lián)網(wǎng)語義功能模型
圖3 物聯(lián)網(wǎng)語義功能框架
1) 參考點功能。①Mca參考點:需提供語義接口,該語義接口基于語義協(xié)議,能夠正確交互語義信息并支持語義查詢。②Mcc參考點:需提供語義接口,該語義接口基于語義協(xié)議,能夠正確交互語義信息并支持語義查詢
2) 語義中間件功能。①語義注釋:支持基于本體知識和資源描述模板對資源進行語義描述,可以由本地業(yè)務層中間件在資源注冊時發(fā)起,為注冊的資源進行語義注釋。②語義查詢:支持基于語義信息的資源查詢,可以被本地應用、本地業(yè)務層中間件或者其他業(yè)務層中間件通過發(fā)送語義查詢請求觸發(fā)。收到語義查詢請求后,語義查詢功能需返回匹配的資源信息。③語義推理:支持基于本體知識根據(jù)對資源語義注釋后的語義數(shù)據(jù)推理出更多的潛在信息,可以被本地業(yè)務層中間件或者其他業(yè)務層中間件通過發(fā)送語義推理請求觸發(fā)。語義推理功能需能夠通過URI訪問內(nèi)部和外部的本體以實現(xiàn)推理。④語義組合:可以根據(jù)本地知識或者語義規(guī)則組合現(xiàn)有的資源創(chuàng)建出符合本地知識或者語義規(guī)則語義描述的新的虛擬資源,可以被本地業(yè)務層中間件或者其他業(yè)務層中間件通過發(fā)送語義組合請求觸發(fā)。
3) 與語義中間件相關(guān)的其他功能。①數(shù)據(jù)存儲和管理功能:是業(yè)務層中間件可以提供的功能之一,提供數(shù)據(jù)的存儲和管理。為支持物聯(lián)網(wǎng)語義功能的實現(xiàn),數(shù)據(jù)存儲和管理功能需支持本體庫文件的存儲以及語義數(shù)據(jù)文件的存儲,即支持.rdf或者.owl等格式文件的存儲。本地業(yè)務層中間件或者其他業(yè)務層中間件可以通過URI來訪問相應的本體庫文件以及語義數(shù)據(jù)文件。
在部署中,不同的物聯(lián)網(wǎng)節(jié)點均可以部署語義中間件。視物聯(lián)網(wǎng)節(jié)點類型和功能不同,可以部署語義中間件的全部功能也可以是有選擇地部署部分功能。
物聯(lián)網(wǎng)語義建模主要是建立物聯(lián)網(wǎng)資源描述的模板,方便對資源進行語義注釋。
本論文涉及的物聯(lián)網(wǎng)語義建模分為兩個方面:資源建模和關(guān)系建模,其中資源建模是對物聯(lián)網(wǎng)資源本身進行建模,關(guān)系建模則是對物聯(lián)網(wǎng)資源和感知環(huán)境之間的關(guān)系進行建模。
1) 資源建模。分為三個層次:概念模型建模、類型模型建模以及實例模型建模。
概念模型是針對概念建立的每個概念對應的資源描述模板。類型模型是針對每個概念中子類型建立的資源描述模板。實例模型則是針對每個具體的資源實例建立的資源描述模板。
建模時,類型模型建模以類型所屬概念的概念模型為基礎(chǔ)進行建模,實例模型建模則以實例所屬類型的類型模型為基礎(chǔ)進行建模。
圖4以設備建模為例,給出了資源建模的示意圖。
圖4 物聯(lián)網(wǎng)資源建模示意圖
2) 關(guān)系建模。關(guān)系建模是對物聯(lián)網(wǎng)資源和感知環(huán)境之間的關(guān)系進行建模,主要涉及物聯(lián)網(wǎng)設備相關(guān)的環(huán)境要素與物聯(lián)網(wǎng)設備之間關(guān)系的建模。
本論文考慮的關(guān)系建模方法是將關(guān)系作為一種對象,并將該對象與物聯(lián)網(wǎng)設備操作和環(huán)境要素相關(guān)聯(lián)。
與資源建模的三個層次相對應,關(guān)系建模同樣分概念模型建模、類型模型建模和實例模型建模三個層面。
圖5以測量關(guān)系為例,給出了關(guān)系建模的示意圖。
圖5 物聯(lián)網(wǎng)關(guān)系建模示意圖
本體表示是用本體語言將物聯(lián)網(wǎng)語義建模的結(jié)果進行表示,從而構(gòu)建出物聯(lián)網(wǎng)語義本體庫。本體表示主要針對概念模型和類型模型進行表示,以概念模型為基礎(chǔ)。
常用的本體表示語言主要是W3C推薦使用的OWL語言[7]。該語言基于RDF[8]三元組(主體、關(guān)系、客體)的方式進行關(guān)系描述。OWL語言主要元素有:Class和Property,其中Class表示類,Property表示關(guān)系?;贑lass和Property可以通過三元組的方式來表示出類與類之間的關(guān)系。Property又被細分為兩類,一類是Object Property用于表示對象類之間的關(guān)系,另一類是Data Property用于表示對象類與數(shù)據(jù)類之間的關(guān)系。
表1和表2以設備建模為例,給出了一個基于OWL語言的本體表示的示意。
表1 設備模板本體表示分類示意
表2 設備模板本體表示關(guān)系示意
語義注釋是根據(jù)資源的信息以語義建模的本體表示為基礎(chǔ)來描述資源,對應于實例模型的描述。
語義注釋同樣可以基于OWL語言采用RDF三元組的方式進行描述。
表3和表4以溫度傳感器資源Temp_sensor123的語義注釋為例,給出了語義注釋的示意。
表3 資源實例語義注釋分類示意
表4 資源實例語義注釋關(guān)系示意
對應的基于RDF的OWL語言描述為
其中RDF文件路徑假設為http://example/,本體名為Ontology,路徑假設為http://Ontology#。
語義查詢技術(shù)根據(jù)語義描述的查詢條件對語義數(shù)據(jù)進行搜索,從而找到目標語義數(shù)據(jù)。
目前語義查詢的描述主要基于W 3 C推薦的SPARQL語言實現(xiàn)[9]。與OWL語言類似,SPARQL語言同樣基于RDF三元組的方式進行描述。SPARQL的基本格式如下:
查詢時,根據(jù)SPARQL描述的三元組關(guān)系對.rdf或者.owl文件中的RDF三元組數(shù)據(jù)進行匹配從而找到目標對象。
語義推理技術(shù)利用本體中的知識對語義注釋數(shù)據(jù)進行理解以從語義注釋數(shù)據(jù)中獲得一些隱性關(guān)系。比如某個資源的語義注釋數(shù)據(jù)中表明該資源是一個“日光燈”,語義推理技術(shù)根據(jù)本體中的知識“日光燈”是“燈”的一個子類,可以推理出該資源同時是一個“燈”。這樣進行語義查詢時,即使使用詞匯“燈”也同樣能夠找到該資源。
目前,語義推理主要基于一階邏輯進行,支持前向推理和后向推理。前向推理主要是根據(jù)三元組的前兩元推斷第三元,后向推理主要是根據(jù)三元組的后兩元推斷第一元。常用的語義推理引擎主要有FaCT++,HermiT和CWM等。
語義推理后會根據(jù)推理出的隱性關(guān)系為資源添加新的語義注釋,即新的三元組數(shù)據(jù)。圖6以日光燈為例,給出了語義推理過程的示意。
圖6 日光燈語義推理
語義技術(shù)的引入,可以利用語義有效定義不同資源之間的關(guān)系,從而使得根據(jù)資源之間的關(guān)系對資源進行組合成為可能。
語義組合技術(shù)利用語義信息對現(xiàn)有的資源進行組合形成新的資源以滿足需求。在本體中某個概念可能是多個概念的邏輯組合,當某個語義查詢的概念指向多個資源時,可以利用語義組合技術(shù)將這些資源組合成一個虛擬的資源并注釋上本體中與該組合對應的概念。
語義組合的實現(xiàn)主要是基于語義推理和查詢找到相關(guān)資源,然后根據(jù)本體和語義規(guī)則邏輯組合相關(guān)資源,建立新的虛擬資源。比如在實現(xiàn)對應“房間A”的“平均溫度”的虛擬資源組合時,首先查詢與“房間A”的“溫度”以測量關(guān)系所關(guān)聯(lián)的測溫操作得到這些測溫操作對應的N個測量參數(shù)A_1,A_2,…,A_N,然后生成新的參數(shù)A,根據(jù)語義規(guī)則中“平均”運算的邏輯(所有輸入變量相加除以輸入變量數(shù)目)參數(shù)A的value值等于參數(shù)A_1到A_N的value值之和除以N。最后,根據(jù)本體的描述模型建立新的虛擬設備資源并創(chuàng)建測量參數(shù)為參數(shù)A的測量操作作為新的虛擬設備資源的屬性,再將創(chuàng)建的測量操作與“房間A”的“平均溫度”以測量關(guān)系關(guān)聯(lián)。
物聯(lián)網(wǎng)語義概念的提出源于解決物聯(lián)網(wǎng)飛速發(fā)展過程中形成的異構(gòu)互聯(lián)以及平臺智能化的需求。物聯(lián)網(wǎng)語義采用語義的方式來描述資源,使得資源的描述具有良好的可讀性,易于機器理解和處理,從而實現(xiàn)語義互操作、語義查詢、語義推理和語義組合等功能。
然而由于語義的復雜性,物聯(lián)網(wǎng)語義的發(fā)展很難一蹴而就,需要經(jīng)歷一個由簡單變復雜的發(fā)展過程,在發(fā)展中逐漸增強。從技術(shù)實現(xiàn)的復雜度來看,物聯(lián)網(wǎng)語義的發(fā)展可以分為三個階段。
第一個階段為簡單語義階段,該階段平臺只提供語義注釋的功能以支持語義互操作,而對語義數(shù)據(jù)的處理由應用自行處理。
第二個階段為弱語義階段,該階段平臺除了提供語義注釋的功能外,還支持語義查詢,對語義數(shù)據(jù)的處理仍由應用自行處理。
第三個階段為強語義階段,該階段平臺具有全部的語義功能,可以支持語義注釋、語義數(shù)據(jù)的查詢以及語義處理。
參考文獻
[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/