999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

公共信息模型的本體解析與校驗

2017-03-23 14:48:34費越峰閆紅漫張弘莫宇
智能計算機與應用 2017年1期

費越峰 閆紅漫 張弘 莫宇

摘 要:針對現在電力信息系統中CIM版本更新以及私有拓展導致的模型不一致的問題,提出一個基于Java基礎包的公共信息模型本體的解析算法以及特定要求下的校驗方法,其中包括解析CIM模型,并重構成Java模型并且完成電力系統所需要的功能校驗,實驗結果證明整個解析以及模型重構過程能準確而快速得完成,校驗過程能準確得將模型中的不匹配信息提取并反饋給用戶。

關鍵詞:本體模型解析;模型重構;全模型構建;RDF解析;功能校驗

中圖分類號:TP391.9

0 引言

標準開放的電力系統信息模型是實現應用集成的基礎。IEC61968/IEC61970標準中的公共信息模型(CIM)不僅描述了不同電力應用之間需要交換信息的語義,還為數據交換和利用提供了最大的靈活性和可擴展性[1]。隨著城市配電網規模的擴大,電力企業應用增加,應用系統間存在大量信息交換,如何實現業務信息的無縫集成,即已成為電力企業信息化過程中的熱點問題。然而在實際應用中,可能遇到以下2個問題:一是公共信息模型(CIM)隨著應用的需求不斷進化,版本更新頻繁,各廠家的產品在版本上不易保持同步,造成模型語義的差異;二是不同應用或不同企業之間可能需要根據內部需求,對CIM進行相應的擴展,那么私有擴展模型可能導致應用間的語義難以辨識。這2個問題可歸結為信息模型不匹配,及模型語義缺乏一致性[2]。要實現各個組件或產品間的信息共享或者交互,模型的一致性是重要的前提,模型的版本或者模型定義不同可能會帶來數據交互失敗以及信息提取錯誤等問題,因此進行公共信息模型的校驗是比較必要的[1]-[2]。

目前國內外正在使用的重點常見本體解析工具包可給出如下闡釋描述。

1) Jena解析工具包。時下,國外公司通過OWL解析包Jena制作了一個用于CIM模型解析以及校驗的工具,可以完成特定版本CIM模型的解析和校驗。但是由于CIM模型更新快速,以致于由Jena構建的解析工具整體滯后CIM的更新速度,即使得最新的CIM模型有效實現優質解析及校驗,已有研究指出該解析校驗工具在電力系統的使用將存在重大的局限性[3]。

2) Protégé OWL API工具包。 Protégé是一種樹形式的本體編輯方式,能夠允許本體模型操作人員在創建或解析相應視圖時維護概念、關系與屬性的樹狀層次結構,通過本體模型的樹狀層次結構對本體模型所包含的信息進行解析。只是這種方式要更加側重于如下人群,也就是:對于本體模型的結構以及語義具有清晰理解的專業人員適宜使用。

為了能夠更好地核心切合電力系統的CIM模型,并且在解析以及校驗過程中能清晰地跟蹤各函數及對象所處理的具體工作,以便于在后期出現解析錯誤或者問題時能輕松地展開問題追蹤,并且做出決定性的精準修改。本文為此而提出一種不依賴于OWL解析包Jena的解析以及校驗方法,采用Java基礎工具包對構建完成的CIM模型進行解析,并且根據電力系統的需求,針對性地設計4個校驗函數達成校驗目的。在解析及校驗過程中出現問題可以追蹤到出現錯誤的步驟,高效調整后即可使用,可以方便得進行錯誤修改。另外,校驗函數之間相互獨立,若電力系統有進一步的校驗需求,則可以編寫定制函數加入到校驗系統中即可使用。

1 工具及相關技術

1.1 DOM4J

DOM4J是一個Java的XML API,是JDOM的升級品,設計上可用于XML文件的讀取。DOM4J是一個十分優秀的Java XML API,功能強大、且易于使用。不僅如此,在性能上已然超過SUN公司官方的DOM技術,同時更是一款開放源代碼的軟件。本文主要運用DOM4J對于XML文件呈現的高超處理能力,來對OWL構建的CIM模型進行解析處理。

1.2 OWL

網絡本體語言(Web Ontology Language)源起于W3C的開發設計,可用于對本體進行語義描述。進一步地,OWL有3種表達能力遞增的子語言[4]。

OWL DL(Description Logic,描述邏輯)將可判定推理能力和較強表達能力作為首要目標。OWL DL提供了描述邏輯的推理功能,描述邏輯是OWL的形式化基礎。本文研究解析的CIM模型即是通過OWL DL定義實現構建的。

2 本體模型的解析

2.1分類處理

對構建的CIM模型采用信息提取技術,并將得到的模型信息進行分類處理,通過研究將得到的子節點信息分為五大類,具體則為類、包、屬性、實例、自己數據類型。為了方便之后的解析以及Java模型構建,將分類后的節點存儲于對應的列表中。

對獲取得到的信息展開遍歷解析工作,本文通過對CIM模型構建2層XML樹,并通過遍歷生成樹的方式對根節點下的各信息進行提取,將獲取的信息通過Type屬性實施重點分類處理,構建生成Class、Individual、Property、Package、Datatype五個列表。

2.2實例建模

獲取子節點之后再次采用DOM4J的XML樹遍歷功能,對子節點下的各條信息進行遍歷,分別提取出相應的信息。從上文中給出的示例可以得到Class的模型中包括的信息如圖1所示。

由圖1可知,其中的IsDefinedBy標注類屬于哪個包,SubclassOf標注該類的父類。

由于OWL語法和Java不同,需要用Java對CIM模型設計提供更多處理則必須對解析得到的信息再以Java語法進行重新建模。但由于在Java中類僅支持單繼承,而OWL卻支持多繼承,因此就要將類的繼承經由適當轉換以滿足下文處理的需求,同時還要對CIM模型的信息含量不會產生影響[5-8]。

由于下文校驗中需要對類的存在性以及類中各屬性的基數、屬性值進行校驗,為此本文將采用將多個父類重構一個新類,以涵蓋多個父類所有的信息。這種處理不會波及下文中的校驗過程,也能有效實現對于多繼承到單繼承的轉換。因為此處僅在該類處理過程中對于多父類進行重新構建,并不影響原始信息[9-10],對于其他類處理時的父類查找以及信息集成也不會不產生任何作用效果。

2.3 構建整體模型

1)同上節中的方法,可以得到Package的Java模型,從其IsDefinedBy屬性可知上一層定義的包名,如此縱向迭代即可獲得模型中定義的包結構。得出Java中的以“.”連接的包名結構。

2)解析重構生成的模型存放于List中,通過迭代列表對比URI的方式查找需要的類。

3)通過類模型中的SubclassOf屬性獲取對應類的所有父類,通過前述提及的構建方法,將同一個類的多個父類合并成一個新類,只用于該類的繼承,其余類之間的關系與構成的新類無關。縱向迭代以生成所有類的繼承關系。具體合并方式如圖2所示。

4)在解析過程中通過Type的標注就會發現屬性可以分為5類,分別為Property、DatatypeProperty、FunctionalProperty、ObjectProperty和InverseFunctionalProperty。其中,DatatypeProperty為數據屬性,約束該屬性值的數據類型。

5)OWL中類的對象屬性(ObjectPorperty)可認定為是該類的父類,因此解析類的對象屬性需要該類的所有父類,縱向迭代即可獲取所有對象屬性約束。在OWL中,對象屬性分為2種,一種被存在量詞所約束,另一種被全稱量詞所約束。OWL API中,有2個不同的類型與之相對應,分別為OWLObjectAllValuesFrom和OWLObjectSomeValuesFrom。

6)遍歷實例列表,獲取每個實例的Type屬性值,實例模型中的Type標注的是該實例所屬的類名。將獲取到的屬性值與類列表中的Name屬性值提供對照比較,找到對應的類,建立起類與實例的關系。

通過以上步驟可以得到轉變完成以后以Java語法整體構建實現的CIM模型,如圖3所示。

3 待校驗RDF文檔解析

CIM/XML是將CIM語義信息模型及其擴展映射為包含電力系統模型信息的CIM/RDF應用,因此必須遵守CIM語義及其自己的約束機制 [1] 。如前所述,CIM版本的快速更新以及各廠家根據各自的需求對CIM模型的私有擴展即使得CIM/XML和OWL構建的CIM模型表現出一定差別,因此為了更好地創建提供信息交互以及文件信息的讀取,則需要對CIM/XML文件引入正確性校驗環節,如存在不符合當前CIM模型的信息需在有效更正后方能正確地進行信息交互。

4 文件校驗

本文中設計提出的公共信息模型的校驗總共劃定為4個校驗方法,分別為類的存在性校驗、屬性存在性校驗、屬性基數校驗以及屬性值類型校驗。下面對這4種校驗的具體方法展開詳細剖析與論述。

4.1 類存在校驗

由于版本更新以及各廠商對于私有功能的拓展,可能會發生更改類名或者添加部分特殊需要的類以適用特定的場景等事件,此時在CIM/XML中就可能出現CIM語義信息模型定義中根本不存在的類,這就使得需要對類的存在性進行校驗,以確保在信息交互的時候每個類都能在CIM中找到與之對應的模型,高效實現信息加載和讀取。

4.2 屬性存在校驗

每個子節點下面有若干屬于該子節點的屬性,在CIM/XML文檔中為子節點更下一層的子節點,依然采用DOM4J中設計研發的XML樹的遍歷函數對其進行遍歷解析,可以得到每一條屬性信息。子節點下的屬性值包括其父類的屬性,需要通過一個類名找到所有與其相關的父類,并且得到父類的所有屬性,用于屬性存在性校驗。

4.3 屬性基數校驗

網絡本體語言中對于屬性基數的約束有2類。一類為屬性基數約束,在屬性中通過maxCardinality或者minCardinality進行約束,另一類則通過FunctionalProperty以及InverseFunctionalProperty進行全局屬性約束。

具體過程中,分別對以上2類約束研究采用了遍歷校驗,通過獲取CIM模型的節點信息,對以上4個關鍵字設置了比對查找,若存在相應屬性條,則進行屬性基數校驗。若對應節點下的相應屬性基數不符合CIM模型的約束,則生成一則屬性基數錯誤信息。

4.4 屬性值校驗

在OWL中,屬性值分為Integer、String、Float等幾類,研究中對于CIM/XML中屬性值的校驗主要分為2部分,一為屬性值類型校驗,確保屬性的屬性值滿足信息模型中的約束條件;另一為屬性值域校驗,使得屬性的值域滿足信息模型中的約束。基于此,兩者相應的設計論述可分做如下呈現

4.4.1屬性值類型校驗

CIM/XML模型中對于屬性值類型的約束只有Integer、String、Float三類,因此需要區分屬性值的類型后再與模型中的約束值配置指定比對,若兩者相符則通過校驗,否則添加一則“屬性值類型錯誤”信息。

屬性值的結構比較復雜和隨機,若設計匹配算法不僅繁瑣,也容易忽略細節因素,導致校驗存在漏洞,為了更方便、也更準確地實現了結構比對,本文選用正則表達式對屬性值進行文本轉換校驗。

正則表達式又稱規則表達式,是計算機學科的一個基本概念。正則表通常可用來檢索、替換那些符合某個模式的文本。研究中需用到的正則符號則如表1所示:

采用Java語言中String類的matches方法即可將獲取到的屬性值上述正則表達式展開設計比對,若符合正則表達式內置規定的結構,則返回1,否則返回0。通過返回值即可判斷屬性值是否為數據類型:若返回為1,則為數據類型;否則即為String類型。通過String類的indexof方法獲取屬性值中小數點的位置,若小數點的位置大于0,即為float類型,否則可判定為integer類型。

4.4.2屬性值域校驗

在OWL中對于屬性值的約束主要有3個,分別為:owl:AllValuesFrom、owl:SomeValuesFrom、owl:HasValue。

對所獲取的CIM模型進行信息提取,通過上述3個關鍵字比對,查看CIM模型是否存在屬性值域約束,若存在相應約束,則對CIM/XML中的對應屬性進行相應校驗;若屬性值域不滿足模型中的約束條件,則添加一條“屬性值域錯誤”信息。

5 測試

本文選用CIM_2009模型進行解析,通過解析程序能兩項生成設計預期的各個信息列表,根據上文信息實現模型重構之后存入對應列表執行校驗操作。

為了方便測試以及利于解析結果的完整查看,本文在測試環節中將解析得到的各個信息列表存入數據庫。運行解析完成后生成的數據表如圖4所示。

從以上數據表中可以看到整個模型中總共解析生成994個類,4169個屬性,639個實例,73個數據包和107個數據類型。根據解析所得的各個信息繼續推進模型的校驗工作。

校驗工作的完整步驟流程則如下所示:

1)將待校驗的RDF文檔導入程序后即選擇了比對操作,比對之后出現2個類不存在錯誤信息,在CIM_2009模型中沒有定義Feeder類,而RDF文檔中存在Feeder的實例對象,如需進行信息交互必須將RDF統一成CIM模型所約束的模型實例。校驗結果中存在2個Feeder實例,具體信息如圖5所示。

2)對于屬性存在性校驗中,RDF文檔中的多個實例存在Equipment.curAssetModel屬性,而在CIM模型中未曾定義該屬性,因此所有包含此屬性的類實例都出現在“屬性不存在錯誤”信息列表中。由執行結果中截取一個結果實例即如圖6所示。

3)在屬性存在性校驗中,還有另外一種情況就是當前實例所屬的類以及其所有的父類都不存在該實例中設計出現的屬性,這也可歸結為是一種屬性的非法使用。在本文所用的測試算例中多次中出現了

Equipment.EquipmentContainer屬性,而其所有的父類都不存在該屬性,因此生成了一條“屬性不存在錯誤”信息。從執行結果中截取一個實例效果如圖7所示。

4)屬性基數以及屬性值類型均能順利通過校驗。

通過上述校驗步驟能快速發現待校驗RDF文檔中出現的不符合CIM模型約束的信息,而當于其他實例應用發生信息交互時就需要進行更正以確保交互的正確性。

6 結束語

通過本文的方法對OWL構建的CIM模型進行解析以及校驗,在一定程度上能夠改善RDF文檔的規范有序,從而確保在CIM快速更新以及私有拓展普遍的電網系統中能夠有效實現信息交互與文件信息加載。

本文只通過Java基礎工具包進行模型解析,不采用集成工具使得整個系統的后期拓展成為可能,在CIM模型更新后即能在最小改動之下最為高效地展現新模型的解析及校驗工作的良好成果。

在特定場景的需求下,需要特殊的校驗條件或者增加其他校驗約束也能通過添加方法快速實現。對于整個校驗過程能清楚展現,對于校驗出現的錯誤信息也能更為直觀地跟蹤具體出現錯誤信息的環節。

參考文獻

[1]曹哲,劉東,包海龍. 基于本體的公共信息模型更新與擴展分析[J].電力系統自動化,2013,37(11):71-75.

[2]于洋,劉東,陸一鳴,等. 基于本體的IEC61968標準信息模型一致性校驗[J].電力系統自動化,2012,36(14):46-51.

[3]趙會群,張詩侃,趙俊寶,等,本體解析的應用研究[J].計算機時代,2012(7):20-22.

[4]倪歡,許卓明. OWL本體查詢技術研究[J].河海大學學報(自然科學版),2006,34(3):333-336.

[5]蔚曉娟,冉靜,李愛華,等. 基于DOM的XML解析與應用[J].計算機技術與發展,2007,17(4):86-88,139.

[6]王梅.網絡本體語言(OWL)的標準體系解析[J].圖書情報工作,2005,49(7):20-24.

[7] 張屹峰. DOM4j解析技術探究[J].現代計算機(專業版),2011(17):39-42.

[8]陳飛飛. 基于DOM4J的XML文檔解析技術研究與應用[J].軟件導刊,2016,15(3):36-37.

[9]LIU Hongxing, YANG Qing. Semantic analysis approach for construction of OWL ontology[J].Journal of Southeast University,2006,22(3):365-369.

[10]SIRIN E,PARSIA B,GRAU B C,et al.Pellet:A practical OWL-DL reasoner[J]. Journal of Web Semantics-Science,Services and Agents on the World Wide Web,2007,5(2):51-53.

主站蜘蛛池模板: 日韩天堂网| 久久久久九九精品影院| 欧美一级99在线观看国产| 色综合热无码热国产| 好久久免费视频高清| 国产视频欧美| a毛片在线| 久久无码av三级| 高清久久精品亚洲日韩Av| 精品视频一区在线观看| 视频二区欧美| 97人人模人人爽人人喊小说| 亚洲黄色视频在线观看一区| 亚洲AV成人一区国产精品| 国产在线麻豆波多野结衣| 亚洲午夜国产精品无卡| 国产人免费人成免费视频| 国产一在线观看| 亚洲一区精品视频在线| 一级毛片中文字幕| 国产美女免费| 麻豆精选在线| 色综合网址| 亚洲精品爱草草视频在线| 亚洲精品视频免费看| 曰韩免费无码AV一区二区| 免费观看男人免费桶女人视频| 亚洲最猛黑人xxxx黑人猛交| 97久久精品人人做人人爽| 精品久久人人爽人人玩人人妻| 天堂久久久久久中文字幕| 精品国产成人国产在线| 九九视频在线免费观看| 欧美性色综合网| 思思99热精品在线| 国产精品一区不卡| 亚洲AV电影不卡在线观看| 亚洲性视频网站| 无套av在线| 国产永久在线视频| 亚洲色图欧美在线| 国产在线八区| 欧美激情伊人| 九九这里只有精品视频| 亚欧美国产综合| 国产超碰一区二区三区| 色成人综合| 视频二区亚洲精品| 潮喷在线无码白浆| 呦视频在线一区二区三区| 一本无码在线观看| 高清欧美性猛交XXXX黑人猛交| 亚洲日韩欧美在线观看| 露脸一二三区国语对白| 又爽又大又光又色的午夜视频| 亚洲欧美成aⅴ人在线观看| 日韩第九页| 波多野结衣亚洲一区| 欧美成人综合在线| 在线观看精品自拍视频| 2024av在线无码中文最新| 2021国产v亚洲v天堂无码| 一级毛片在线播放| 精品无码人妻一区二区| 亚洲二区视频| 夜夜操国产| 91免费观看视频| 亚洲男人的天堂久久香蕉| 波多野结衣中文字幕一区| 成人伊人色一区二区三区| 亚洲精选无码久久久| 伊人久久综在合线亚洲2019| 97精品久久久大香线焦| 精品欧美一区二区三区在线| 欧美一区二区精品久久久| 一区二区三区四区在线| 亚洲浓毛av| 91丝袜在线观看| 欧美午夜在线观看| 色国产视频| 成人综合在线观看| 国产又色又爽又黄|