IOT語義互操作性之本體論
這個系列文章描述了一個單一的語義數據模型來支持物聯網和建筑、企業和消費者的數據轉換。 這種模型必須簡單可擴展, 以便能夠在各行業領域之間實現插件化和互操作性。 對于一個目前從事智能硬件的老碼農,覺得這些文字具有積極的參考意義。在這第二部分, 嘗試確定上層本體在解決元數據挑戰中的作用, 以及如何能夠提高可伸縮性。
- “There are two words for everything.” – E.V. Lucas
什么是本體論?
本體論作為科學的一部分, 有很多面孔。 起初, 本體論是關于"存在"哲學的一部分, 也是描述世界的物體、現象和規律的通用知識體系。
近年來, 本體論的發展已經從人工智能領域轉向語義網。 網絡上的本體論, 包括從對一般網頁內容(如 schema.org)進行分類, 到銷售產品及其功能(如亞馬遜網站)。
作為語義互操作性的促進者, 本體提供了與特定領域(例如醫療保健)元數據標識符相關的概念,提供了一個標準化的分類。 本體雖然包含了分類學和詞庫的特性, 但在術語和屬性之間使用嚴格的語義關系, 目標是以機器可讀形式來表示知識(圖15)。 [7]
[圖15 | 語義層次]
用于開發本體的方法對于促進可伸縮性至關重要, 必須考慮所有相關的應用程序。 本系列文章考慮的應用包括五個相互關聯行業的商業和物聯網使用案例——房屋、能源、零售、醫療和運輸及物流。
雖然句法語言(例如 OWL、 RDF 和 RDFS)可以用來構建本體論, 而本節將關注與任何特定建模語言無關的方法論。
一致性的受控詞表
受控詞表是經過精心挑選的詞匯和短語(即術語)的集合, 這些詞匯和短語在不同的語境中都被賦予了明確的含義。 一個詞匯表可以用來保持本體發展的一致性, 它定義了術語背后的上下文關系。
登記中心控制的詞匯表中的所有術語都有一個毫不含糊的、非冗余的定義。 如果多個術語可以用來表示同一事物, 則應將其中一個術語定義為受控詞表中的***術語, 其他術語被列為同義詞或別名(見圖16和IOT語義交互性之詞匯定義)。
[圖16 | 別名和翻譯的受管制術語]
受控詞表應該為全球應用提供各國家語言支持。 代表知識領域內術語的標準詞匯可以從各種組織(例如 lov.okfn.org)免費獲得。
對每件事物都有一個對象類
本體可以通過一組類來提供域概念的標準化分類。 每個類(概念)都可以表示可以唯一標識的類似事物或對象的類別。 類被定義為反映其對象(實例)所獨有的屬性、限制和關系。 類可以表示物理對象, 例如傳感器和人員以及信息對象, 例如商業交易[ ISO 11179]。 一個本體, 連同一組個別的類實例, 構成一個知識庫。 [8]
一個類的層次結構
像分類法一樣, 本體可以在分層結構中定義其類, 這種結構可以根據需要進行深度定義(圖17)。 類(如傳感器或執行器)可以是另一類(設備)的子類(類型)。
[圖17 | 本體的層次結構]
所有子類都繼承類的屬性。 例如, 如果 Power 狀態是設備類的一個屬性, 那么所有傳感器和執行器對象都會有這個屬性。
屬性在適用于其所有對象(包括子類)的最普通類附加一個屬性。 由于所有類都是對象的類型, 所以類層次結構有一個根類, 即對象, 它包含所有對象繼承的標識符(一個 O-DEF 分類屬性)(見圖19)。
雖然這種方法與面向對象程序設計相似, 但它代表了從編程中抽象出來的元數據。 代表本體的元數據可以在一個存儲庫(ISO 11179)中從任何編程環境中抽象出來。
跨行業領域互動的***層
***對象類(例如 ODEF 核心索引)可以促進不同領域(如建筑物、零售、醫療保健)的數據交換和互操作性, 因為它們確保以統一和語義兼容的方式使用基本術語。
本系列文章中確定的各組織機構語義數據模型包括了支持其目標行業和使用情況的***級別類別(圖18)。
[圖18 | 各聯盟的***對象類]
雖然術語可能不同, 但各聯盟集團有許多基本概念(類)。 這些概念的"混合"可以形成一個能夠支持行業的特定用例和跨行業互操作性的上層本體(圖19)。
[圖19 | 混合、跨行業***等級]
根對象類的名稱和描述屬性可以描述這些***類, 并包含在術語表中:
- Information Model 資訊模型
- Asset 資產
- Product 產品
- Location 位置
- Party 派對
- Transaction 交易
- System 系統
- Process 過程
- Rule 規則
- Event 活動
- Relationship 關系
雖然個人和組織被一些財團模型(O-DEF, schema.org)認為是***的類, 但它們都是商業模式中一個Party概念的子類(GS1 EDI, ARTS ODM)。 締約方類包括人員和組織共有的屬性, 并允許一個類與業務事務和其他關系關聯。 [9]締約方能夠擁有法律所有權, 并且可以與根對象類的所有人屬性有關。 締約方實例可以擁有有形(車輛)和無形(銷售訂單)對象。
盡管在這些聯合體中沒有明確定義, 但在這種混合方法中包含了一個***關系類, 可以從定義多對多關系的任何特定本體語言中抽象本體。
信息模型的類
信息模型作為一個知識領域, 可以有自己的本體, 可以建立一個多層次的本體論。 信息模型***對象類(ODEF Information-set)可用于包含定義信息模型的子類(圖20)。 其中包括:
- Data Type 數據類型
- Measurement Unit 測量組
- Attribute 屬性
- Vocabulary Term 詞匯詞匯
- Role 角色
[圖20 | 一個信息模型類層次結構]
數據類型的本體
數據類型和測量單位(如 QUDT.org)的本體論可以為商業和技術提供基礎語義互操作性。
數據類型類可以作為信息模型的子類來建模。 基于數字電子學的所有數據都表示為***級別的比特(0和1) , 數據類型類的比特屬性可以由所有子類繼承。 數字和字符串是原子數據類型(數據類型類的直接子類) , 因為它們的值不能用較小的部分來描述。 Integer 和 Float原語可以定義為數類的子類(如 schema.org)。 標準組織已經定義了原子和原始數據類型(例如, ISO.org 11404, W3.org XML Schema) , 但是它們之間的不一致是難以管理的。
具有唯一屬性的附加數據類型(如數量)可以從原始數據類型中派生出來, 并定義為它們的子類。 然而, 在編程語言和組織數據服務中, 具體的原始數據類型和派生數據類型的使用情況各不相同, 限制了語義互操作性(圖21)。
[圖21 | 聯盟組織的數據類型]
一個術語的數據類型
一個術語數據類型(類似于 Haystack 的"marker")可以被屬性(類似于 Haystack 的“tag”)來分別與對象類層次結合使用。
與受控詞表一起使用時, 術語屬性的值可以表示一個 Term 對象。 例如, 在圖19中, 根對象類的 Name 屬性分配給術語數據類型。根對象類Name 屬性的值與受控詞表中的"對象"項有關(圖16)。
術語的概念也可以作為信息模型的一個子類(圖20)。
關系的數據類型
關系數據類型(類似于 Haystack 的"Ref")可以分配給一個屬性, 以表示與同一個或不同類對象的關系。 例如, 根對象類的類屬性分配給關系數據類型(圖19)。 屬性類的"內部類"屬性也分配給關系數據類型(圖20)。 在這種情況下, 關系表示在類對象中對屬性對象的限制。
分配給關系數據類型的屬性應該僅限于單個類中的對象, 這應該是適當反映關系的最嚴格子類。
用于測量的數量數據類型
商業和技術依賴于經過測量的數字, 其中大多數都有單位。 數據類型本體可以定義一個測量的數據類型(scheman.org中的數值)來作為數據類型的子類。 數據類型也可以定義為量數據類型的每個類型或"維度"的測量。 例如, 圖21中的一個溫度數據類型(UN/CEFACT Temp-Measure類型)可以定義為數量子類的實例。
通過將貨幣量建模是另一種測量類型, 包括值轉換在內的過程可以在所有測量類型中歸一化。 一種機制(類似于 xe.com)可以用來檢索與貨幣單位相關的轉換因素(貨幣兌換率)的動態價值變化。
一個測量單位的類
最廣泛使用的單位系統是國際單位制, 即 SI。 ISO 80000-1進一步定義了 SI 和國際數量體系(ISQ)的數量和單位。
單元類可以作為信息模型的子類來建模。 圖22顯示了數據集 中每個對象繼承的對象類的屬性(標識符、名稱、類)。 該圖還包括由對象的類屬性標識的類(單元)屬性。
[圖22 具有對象和單位屬性的單元類示例實例]
一個單位標識符(如 華氏度)與數據集中的數量值(例如 Haystack 標記數據)配對, 可以在所確定的單位對象內解析一個數量數據類型(如溫度)。單元對象的屬性也可以支持單元轉換過程(圖23)。
[圖23 | 使用帶轉換屬性的單元實例進行溫度值轉換]
對象的角色
角色的概念(如 O-DEF 中的概念)描述了一個可以由特定上下文中對象執行的函數。 角色類可以作為信息模型的子類來建模, 并且可以包含適用于不同對象類的實例(圖24)。
[圖24 | 具有對象和角色屬性的角色類示例實例]
關系類中的一個實例可以將角色的實例分配給對象。 一個對象可以有多個角色。 例如, 一個人的實例可以有員工、父母和乘客的角色。 一種設備的實例可以是傳感器和通信器。 許多設備的目的是承擔與人相同的角色。 因此, 角色可以分配給對象類。
一些角色(客戶)有一個相應的反向角色(供應商)。 當一個客戶角色被分配給一個締約方(以 ARTS ODM 為模型)時, 將相應的供應商角色分配給另一締約方以形成貿易關系。
References
7 Harpring, Patricia, “Introduction to Controlled Vocabularies”, 2010 J. Paul Getty Trust.
8 Noy, Natalya F. and McGuinness, Deborah L. “Ontology Development 101: A Guide to Creating Your First Ontology”, protégé.Stanford.edu, 2001.
9 Hay, David C., Data Model Patterns: Conventions of Thought, Dorset House Publishers, Inc. (New York: 1996)
【本文來自51CTO專欄作者“老曹”的原創文章,作者微信公眾號:喔家ArchiSelf,id:wrieless-com】