潘理虎 張佳宇* 張英俊 謝建林
1(太原科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 山西 太原 030024)2(太原科技大學(xué)環(huán)境與安全學(xué)院 山西 太原 030024)
煤礦的安全生產(chǎn)和管理一直是該領(lǐng)域研究的熱點(diǎn),雖然近幾年國家采取一系列政策使得煤礦安全形勢有所好轉(zhuǎn)[1],但事故發(fā)生率及事故總量仍高于世界其他主要煤炭生產(chǎn)國,面臨的安全隱患不容小覷。且因信息化智能應(yīng)用的增多,當(dāng)前行業(yè)數(shù)據(jù)產(chǎn)生速率加快,累計(jì)了大量的數(shù)據(jù)。這些數(shù)據(jù)形式多樣,數(shù)量龐大,傳統(tǒng)的數(shù)據(jù)管理方式已無法滿足行業(yè)數(shù)據(jù)管理需求[2]。
本體通過對領(lǐng)域知識的組織和管理,不僅能夠有效地對礦井情景進(jìn)行形式化描述,而且通過Jena推理機(jī)和自定義規(guī)則對知識的推理,還能充分挖掘其中的隱含信息。知識圖譜是一種結(jié)構(gòu)化的語義知識庫,可以將網(wǎng)絡(luò)信息、數(shù)據(jù)資源關(guān)聯(lián)為語義知識,以備后續(xù)研究利用,是目前大數(shù)據(jù)時代知識的表示方式[3]。因此,將本體與知識圖譜相結(jié)合,能夠更加有效地對煤礦領(lǐng)域知識之間的聯(lián)系進(jìn)行分析,特別是在煤礦安全監(jiān)測監(jiān)控方面。目前存在的煤礦安全監(jiān)測監(jiān)控系統(tǒng)大多側(cè)重于對人員及設(shè)備信息的監(jiān)測監(jiān)控,忽略了人員、設(shè)備、操作及環(huán)境等信息之間的內(nèi)在聯(lián)系,知識圖譜能夠?qū)⒕略O(shè)備、環(huán)境狀態(tài)、操作狀態(tài)等信息進(jìn)行關(guān)聯(lián),使得相關(guān)工作人員快速高效全方位地掌握礦井信息,在事故防治以及安全管理方面均有一定意義。
知識圖譜的構(gòu)建方式有兩種[4],一種是自頂向下的構(gòu)建方式,一種是自底向上的構(gòu)建方式。前者指的是預(yù)先為知識庫定義好本體或數(shù)據(jù)模式,然后再將實(shí)體加入到知識庫中,即利用一些現(xiàn)有結(jié)構(gòu)化知識庫作為基礎(chǔ)知識庫,F(xiàn)reebase項(xiàng)目就是采用此方式[5]。后者指的是先利用相關(guān)技術(shù)把開放鏈接數(shù)據(jù)和在線百科數(shù)據(jù)中有用實(shí)體提取出來,從中選擇置信度較高的添加到知識庫中,從而構(gòu)建出頂層本體模式[6]。
本文采用的是自頂向下的知識圖譜構(gòu)建方式。在分析比較常用的幾個本體建模方法后,結(jié)合煤礦數(shù)據(jù)特點(diǎn),采用七步法與METHONTOLOGY法相結(jié)合的本體構(gòu)建方法對煤礦領(lǐng)域本體進(jìn)行建模。并基于該本體構(gòu)建煤礦領(lǐng)域核心知識圖譜,具體可分為三步:(1) 對本體與圖數(shù)據(jù)庫的映射匹配機(jī)制進(jìn)行分析,并制定映射規(guī)則;(2) 根據(jù)具體規(guī)則將本體數(shù)據(jù)進(jìn)行存儲,并補(bǔ)充實(shí)體內(nèi)容,實(shí)現(xiàn)初始知識圖譜構(gòu)建;(3) 在前兩步的基礎(chǔ)上,設(shè)計(jì)并開發(fā)煤礦安全監(jiān)測監(jiān)控原型系統(tǒng),使得相關(guān)工作人員能夠及時對礦井信息進(jìn)行全面了解,以此減少事故發(fā)生量,保障人員和設(shè)備安全性。
本體的構(gòu)建方法各異,最常見的有七步法[7]、骨架法、METHONTOLOGY法[8]、TOVE法[9]、IDEF5法、SENSUS法和KACTUS法。其中,七步法、骨架法、TOVE法及METHONTOLOGY法的生命周期較為完整,但溯本追源,七步法、骨架法和TOVE法均未有真正的生命周期。從其配套的相關(guān)技術(shù)角度看,七步法和METHONTOLOGY法有其相關(guān)配套技術(shù),只是METHONTOLOGY法相對不全,而其余方法配套的相關(guān)技術(shù)皆不確定。就方法說明的詳細(xì)程度而論,七步法、METHONTOLOGY法及IDEF5法較多,而其余方法相對較少。除此之外,每種方法的構(gòu)建形式不一,除七步法采用半自動方式構(gòu)建,其余大多數(shù)為人工方式構(gòu)建。由此可知,七步法和METHONTOLOGY法較為成熟。
煤礦領(lǐng)域數(shù)據(jù)是指煤炭生產(chǎn)和管理過程中所產(chǎn)出的數(shù)據(jù),具有數(shù)據(jù)量大、種類多、價值密度低及數(shù)據(jù)產(chǎn)生變化快的特點(diǎn)[10]。在煤炭生產(chǎn)過程中會有瓦斯監(jiān)測數(shù)據(jù)、設(shè)備運(yùn)轉(zhuǎn)數(shù)據(jù)、事故發(fā)生因素及工作人員個人信息等不同種類數(shù)據(jù)產(chǎn)生。且礦井員工在工作過程中會使用多種監(jiān)測設(shè)備與傳感器,以實(shí)現(xiàn)對員工的實(shí)時監(jiān)控,在這過程中會有海量數(shù)據(jù)產(chǎn)生,但真正有用的數(shù)據(jù)卻很少,因而數(shù)據(jù)價值密度并不高。與此同時,該領(lǐng)域中信息化應(yīng)用逐漸增多,伴隨著數(shù)據(jù)的產(chǎn)生量與速度也在急速增長。利用本體能夠有效地組織和管理煤礦領(lǐng)域數(shù)據(jù),但由于七步法在構(gòu)建本體的過程中往往會忽略內(nèi)容的更新,而煤礦領(lǐng)域數(shù)據(jù)更新速度快,倘若在構(gòu)建途中有新知識出現(xiàn),或知識發(fā)生變化,該方法則不再適用。METHONTOLOGY法在每一步操作完成后都能對其進(jìn)行修改,恰好彌補(bǔ)以上不足。因此,本文提出了一種將兩者相結(jié)合的本體構(gòu)建方法,具體開發(fā)流程如圖1所示。
圖1 本體開發(fā)流程
1) 明確構(gòu)建本體領(lǐng)域及范圍 本文從煤礦安全的角度出發(fā),通過書籍、文獻(xiàn)、電子資料等途徑獲取信息,抽象出煤礦安全監(jiān)測的相關(guān)對象,了解設(shè)備、環(huán)境、操作、工種、災(zāi)害(事故)之間的關(guān)聯(lián)關(guān)系,確定了構(gòu)建本體的領(lǐng)域范圍包括:采煤工作面、掘進(jìn)工作面、井下通風(fēng)、井下運(yùn)輸及安全監(jiān)測監(jiān)控。
2) 分析復(fù)用該領(lǐng)域已有本體可能性 通過查閱、調(diào)研已有本體模型,對郭華的瓦斯監(jiān)控系統(tǒng)本體[11]、藥慧婷的煤礦掘進(jìn)工作面本體[12]、劉婷的采煤工作面本體[13]、李婉婉的通風(fēng)系統(tǒng)本體及運(yùn)輸系統(tǒng)本體[14]進(jìn)行分析復(fù)用。
3) 獲取領(lǐng)域知識 通過實(shí)地調(diào)研及對領(lǐng)域?qū)<业脑L談,以國家安監(jiān)局制定的規(guī)程為主要知識源,《中國分類主題詞表》中的礦山詞表、CNKI文獻(xiàn)以及《煤礦機(jī)電設(shè)備操作技術(shù)工人》、《通風(fēng)安全技術(shù)工人》等書籍為輔,并結(jié)合領(lǐng)域術(shù)語標(biāo)準(zhǔn),完成對煤礦領(lǐng)域知識的獲取。
4) 確定領(lǐng)域核心概念 對獲取數(shù)據(jù)進(jìn)行分類、分析、歸并整理,提取出核心概念,如表1所示。
表1 煤礦領(lǐng)域數(shù)據(jù)術(shù)語(部分)
由于上述概念存在語義重復(fù)、表達(dá)不規(guī)范等問題,因此,以上術(shù)語并不是最終本體中的概念,接下來本文將對其進(jìn)一步整合,使其具有唯一性。
5) 建立領(lǐng)域核心概念層次 通過分層的形式可對領(lǐng)域中概念有一個明確的認(rèn)識,例如:高層的類代表最高抽象層次的概念,而低層的類是高層類的子類,其繼承了高層類所有的屬性,實(shí)體概念更加具體。且在Protégé中,最頂層的類是Thing,本文中定義的五大類:設(shè)備、災(zāi)害、環(huán)境、操作以及工種均為該類的子類,例如操作(Operation)類,詳情見圖2。
圖2 煤礦領(lǐng)域本體中操作類
6) 定義概念間屬性及約束 只定義煤礦領(lǐng)域知識中的類和類的層次結(jié)構(gòu)還無法完整地表達(dá)煤礦領(lǐng)域知識,還需通過屬性及屬性約束來詳細(xì)描述類的結(jié)構(gòu)及特征。屬性包括兩類:對象屬性、數(shù)據(jù)屬性。其中,對象屬性是指對類之間的關(guān)系進(jìn)行描述,如圖3所示,hasApparatus可以表示在某個工作地點(diǎn)有一個儀器。而數(shù)據(jù)屬性是指對類本身所具有的特質(zhì)進(jìn)行描述,如4所示,hasGasConcentrationValue指氣體的濃度值。
圖3 煤礦領(lǐng)域本體中部分對象屬性
圖4 煤礦領(lǐng)域本體中部分?jǐn)?shù)據(jù)屬性
7) 本體實(shí)例化 為了能夠?qū)?gòu)建的本體模型應(yīng)用到實(shí)際問題中,需要給本體中的類添加相應(yīng)的實(shí)例和屬性,以擴(kuò)充本體內(nèi)容。例如在圖5中,為鉆眼工(DrillingWorker)添加了屬性和實(shí)例。
圖5 鉆井工人的屬性及實(shí)例
鉆眼工是工種的一個子類,具備使用設(shè)備(isUsing some Apparatus)、工作環(huán)境(isWorkingOn some Environment)、工作范圍(isWorkingOn some WorkingPlace)屬性,而HuRui、Lily等為鉆眼工的實(shí)例(Members),能夠繼承上述屬性。如圖6所示,Lily是一名鉆眼工,在Place1工作,同時在這里工作的還有HuRui、LiuHuan等。
圖6 鉆井工人Lily的屬性描述
8) 邏輯推理及檢測 邏輯推理是指根據(jù)現(xiàn)有材料按邏輯思維的規(guī)律、規(guī)則形成概念、從而作出判斷,達(dá)到推理的目的。Protégé自帶推理機(jī)制,可以對實(shí)例進(jìn)行一致性檢測,消除語義差異,即其可以保持本體邏輯關(guān)系的一致性,避免本體出現(xiàn)語義矛盾,能夠?yàn)楹罄m(xù)本體推理提供保障。例如,為工作地點(diǎn)添加一個實(shí)例Place2,且滿足hasGasConcentrationValue some float[>=0.05],hasO2ConcentrationValue some float[<=0.2],hasTemperatureConcentrationValue some integer[>=650]三個屬性中任意一個,那么,就代表Place2不安全,需要相關(guān)工作人員采取對應(yīng)措施處理。如圖7、圖8所示,給工作地點(diǎn)添加實(shí)例Place1和實(shí)例Place3,并將其數(shù)據(jù)屬性hasGasConcentrationValue分別設(shè)定為0.08f和0.02f,經(jīng)一致性推理后可知,Place1是一個危險(xiǎn)工作地,而Place3安全。
圖7 添加實(shí)例Place1、Place2、Place3
圖8 一致性檢測后
9) 本體更新 本體更新的數(shù)據(jù)來源主要有兩個:一是經(jīng)過邏輯推理和一致性檢測后所得數(shù)據(jù);二是煤礦領(lǐng)域出現(xiàn)的新數(shù)據(jù)。本文從CNKI數(shù)據(jù)庫檢索到1999年-2017年間有關(guān)煤礦領(lǐng)域文獻(xiàn)2 564篇,對其進(jìn)行數(shù)據(jù)抽取,并按煤礦領(lǐng)域本體的概念分類對本體內(nèi)容進(jìn)行補(bǔ)充,實(shí)現(xiàn)本體更新,更新后本體如圖9所示。
圖9 煤礦領(lǐng)域本體模型
10) 文檔化 通過以上步驟,本文煤礦領(lǐng)域本體模型基本構(gòu)建完成。本體描述語言O(shè)WL能夠?qū)崿F(xiàn)本體模型的形式化表示,為后續(xù)數(shù)據(jù)實(shí)例化、本體推理等提供標(biāo)準(zhǔn)、統(tǒng)一的語言規(guī)范。煤礦領(lǐng)域本體OWL文件部分內(nèi)容如下:
(1) 類的存儲:
(2) 對象屬性的存儲:
(3) 數(shù)據(jù)屬性的存儲:
對于特色農(nóng)產(chǎn)品而言,要想實(shí)現(xiàn)其標(biāo)準(zhǔn)化翻譯,不僅要提高企業(yè)的重視程度,更要政府加強(qiáng)對農(nóng)產(chǎn)品英文翻譯的規(guī)范。同時,也要對特色農(nóng)產(chǎn)品的名稱以及中英文簡介進(jìn)行明確規(guī)范。在實(shí)際中,不同的農(nóng)產(chǎn)品企業(yè)對于同一種農(nóng)產(chǎn)品的簡介并不相同,這樣既不利于外國友人對中國特色農(nóng)產(chǎn)品進(jìn)行了解,也不利于特色農(nóng)產(chǎn)品向國際化方向發(fā)展。由此可見,要提高政府對農(nóng)產(chǎn)品英文翻譯的重視程度,嚴(yán)格規(guī)范英漢名稱與簡介信息,培養(yǎng)專業(yè)的農(nóng)產(chǎn)品英文翻譯團(tuán)隊(duì),增加專業(yè)的農(nóng)產(chǎn)品翻譯人員,鼓勵相關(guān)人員進(jìn)行市場調(diào)研,推動市場經(jīng)濟(jì)快速發(fā)展。 rdf:about="#hasCO2ConcentrationValue"/>
(4) 一般公理的存儲:
rdf:about="#ThreeChainScraperConveYorMachine"/>
本體通常使用OWL語言描述,其保存格式為RDF三元組。而RDF圖[15-16]由多個三元組構(gòu)成,三元組=<主語,謂語,賓語>。圖數(shù)據(jù)庫中的節(jié)點(diǎn)可由主語和賓語轉(zhuǎn)化,節(jié)點(diǎn)之間的邊可由謂語轉(zhuǎn)化,表示主語和賓語之間的關(guān)系。因此,本體文件能夠映射到圖數(shù)據(jù)庫實(shí)現(xiàn)知識的存儲。
本文中,對此有如下定義:
定義1將RDF的存儲模型定義為:
r=
(1)
式中:s表示主語,p表示謂語,o表示賓語。
定義2圖數(shù)據(jù)庫中的圖結(jié)構(gòu)形式化為:
G=
(2)
式中:V為圖數(shù)據(jù)庫中節(jié)點(diǎn)集合;E為邊集合;P為屬性鍵值對集合;src、tgt和lbl都表示函數(shù)關(guān)系,分別表示為圖中每條邊都有一個起點(diǎn),圖中每條邊都有一個終點(diǎn),圖模型中每一個節(jié)點(diǎn)/邊都可以設(shè)置零個或多個標(biāo)簽來標(biāo)識。
考慮到RDF具有空節(jié)點(diǎn)、數(shù)據(jù)類型不同等問題,制定具體的映射規(guī)則來約束存儲關(guān)系的映射,包括節(jié)點(diǎn)映射規(guī)則、邊映射規(guī)則。
1) 節(jié)點(diǎn)映射規(guī)則:
(1)S為RDF的主語集,O為RDF的賓語集,V為圖數(shù)據(jù)庫的節(jié)點(diǎn)集,S和O都可以映射成V,且V不重復(fù)出現(xiàn),即主語s、賓語o及節(jié)點(diǎn)v之間存在一個映射函數(shù),能夠?qū)⒅髡Zs和賓語o映射為圖數(shù)據(jù)庫中的節(jié)點(diǎn)v。
(2)U為RDF中的URI集合,是三元組中的主語或者賓語,則有u∈U∩u∈(S∪O)。在圖數(shù)據(jù)庫中為其設(shè)置一個屬性,構(gòu)成屬性集f(vu),且以“uri”為標(biāo)簽。
f(vu)={("URI",str(u))}
lbl(vu)="uri"
式中:vu為u在圖數(shù)據(jù)庫中的對應(yīng)節(jié)點(diǎn),str(u)為代表該URI的字符串。
(3)B為空節(jié)點(diǎn)集合,b在RDF中為空節(jié)點(diǎn)的主語或者賓語,則有b∈B∩b∈(S∪O)。在圖數(shù)據(jù)庫中為其設(shè)置一個屬性,構(gòu)成屬性集f(vb),且以“bnode”為標(biāo)簽。
f(vb)={("URI",str(b))}
lbl(vu)="bnode"
式中:vb∈V,str(b)表示唯一標(biāo)識該空節(jié)點(diǎn)的字符串。
(4)L為文字節(jié)點(diǎn)集合,l在RDF三元組中為Literal的主語或賓語,則有l(wèi)∈L∩l∈(S∪O)。在圖數(shù)據(jù)庫中為l設(shè)置三個屬性,構(gòu)成屬性集f(vl),且以“Literal”為標(biāo)簽。
f(vl)={("value",str(l)),("datatype",type(l))("lang",t(l)}
lbl(vl)="literal"
式中:str(l)為文本值,type(l)為文本的數(shù)據(jù)類型,t(l)為文本的語言。
2) 邊映射規(guī)則:
(1) 存在一個從RDF三元組到圖數(shù)據(jù)庫的邊映射函數(shù),能夠?qū)崿F(xiàn)三元組謂語P到圖數(shù)據(jù)庫邊E的映射。
(2) RDF三元組可表示為,如(1)所述,謂語p能夠映射成圖數(shù)據(jù)庫里的邊e,若將str(p)作為標(biāo)簽,則有:
lbl(e)=str(p)src(e)=vstgt(e)=vo
式中:vs為邊e的開始節(jié)點(diǎn),vo為邊e的結(jié)束節(jié)點(diǎn)。
(3) 若RDF三元組中的謂語P都為URI,那么,就不需要設(shè)置額外的屬性,設(shè)置標(biāo)簽lbl即可確定。
以圖6中的鉆井工人Lily為例,其相應(yīng)RDF圖表示見圖10。
圖10 工人信息RDF圖
采用以上映射規(guī)則,可以將圖10中各元素表示為:
V={v1,v2,v3}E={e1,e2}
src(e1)=v1tgt(e1)=v2lbl(e1)="rdf:type"
src(e2)=v1tgt(e2)=v2lbl(e2)="isWorkingOn"
f(v1)={("URI",Lily)}
f(v2)={("URI",DrillingWorker)}
f(v3)={("URI",place1)}
按映射規(guī)則映射后,得到對應(yīng)的圖數(shù)據(jù)存儲圖如圖11所示。
圖11 工人信息RDF圖映射后的圖數(shù)據(jù)存儲
Neo4j是一個典型的、高性能NOSQL圖數(shù)據(jù)庫,用Java語言實(shí)現(xiàn),存儲方式不同于一般數(shù)據(jù)庫的表格存儲,以網(wǎng)絡(luò)的方式對結(jié)構(gòu)化數(shù)據(jù)進(jìn)行存儲。與其他非關(guān)系型數(shù)據(jù)庫相比,Neo4j支持ACID事務(wù),支持海量數(shù)據(jù)存儲,具有成熟數(shù)據(jù)庫的所有特性,能夠很好地解決煤礦領(lǐng)域數(shù)據(jù)價值密度低、數(shù)量大、更新速度快的問題。因此,本文選用Neo4j圖數(shù)據(jù)庫來進(jìn)行研究。
根據(jù)第2節(jié)對本體與圖數(shù)據(jù)庫的映射匹配分析,本文采用知識存儲映射算法將煤礦領(lǐng)域本體內(nèi)容映射到Neo4j圖數(shù)據(jù)庫中,實(shí)現(xiàn)本體數(shù)據(jù)到圖數(shù)據(jù)的轉(zhuǎn)換與煤礦領(lǐng)域知識的存儲,即先讀取已存儲的RDF文件,并對每一個三元組進(jìn)行遍歷,最后根據(jù)存儲映射規(guī)則實(shí)現(xiàn)知識的存儲。涉及到的知識存儲映射算法[17-18]如下。
輸入:RDF文件,Neo4j圖數(shù)據(jù)庫地址(dbURI)
輸出:Neo4j圖數(shù)據(jù)庫中存儲的本體內(nèi)容
(1) 用Jena API讀取RDF文件進(jìn)行讀,獲取全部三元組R,并將三元組Ri(共n個三元組,i≤n)解析得Triple={s,p,o}。
(2) 經(jīng)RestAPIFacade訪問連接Neo4j圖數(shù)據(jù)庫(dbURI),使用Transaction開啟事務(wù),并為節(jié)點(diǎn)和邊建立索引RestNode、RestRelationship。
(3) 從RestNode中獲取Triple.s及Triple.o的對應(yīng)節(jié)點(diǎn)Vs和Vo,判斷Vs和Vo是否已經(jīng)存在于數(shù)據(jù)庫中,若不存在,則創(chuàng)建新節(jié)點(diǎn)并將其添加到RestNode中。
(4) 從RestRelationship中獲取Triple.p的對應(yīng)邊Ep,判斷Ep是否已經(jīng)存在于數(shù)據(jù)庫中,若不存在,則創(chuàng)建一條由Vs指向Vo的有向邊,并將其加入到RestRelationship中。
(5) 判斷三元組Ri是否已全部遍歷,若i≥n,則已全部遍歷,繼續(xù)下一步操作;若i (6) Neo4j圖數(shù)據(jù)庫中得到已存儲的本體內(nèi)容。 存儲算法流程如圖12所示。 圖12 知識存儲算法流程 知識存儲具體實(shí)現(xiàn)過程見圖13。 圖13 本體數(shù)據(jù)到Neo4j圖數(shù)據(jù)庫的存儲實(shí)現(xiàn)過程 (1) 采用Jena API對煤礦領(lǐng)域本體文件(cms.rdf)進(jìn)行讀取及解析,并在Neo4j圖數(shù)據(jù)庫中建立一個名為“c”的圖數(shù)據(jù)庫,然后將解析后的所有RDF三元組數(shù)據(jù)存儲于此圖模型中,該過程核心代碼如下: //對RDF文件進(jìn)行讀取 InputStream in=FileManager.get().open(inputFileName); //在Jena中創(chuàng)建一個默認(rèn)模型 Model model=ModelFactory.createDefaultModel(); //將文件中讀取所有RDF三元組,并將其存儲于模型 Model.read(in,"","RDF"); //對圖數(shù)據(jù)庫進(jìn)行初始化操作,即建立一個名為“c”的圖 //數(shù)據(jù)庫 GraphDatabaseService cgraph=new GraphDatabaseFactory().newEmbeddedDatabase(NEO_STORE); //為“c”圖數(shù)據(jù)庫創(chuàng)建對象 NeoGraph graph=new NeoGraph(cgraph); //為“c”圖數(shù)據(jù)庫的對象創(chuàng)建一個模型 Model cmodel=ModelFactory.createModelForGraph(graph); //將三元組保存到圖對象模型中 cmodel.add(model); (2) 圖13中Neo4j存儲結(jié)構(gòu)部分指的是,nodes和relationships除了兩者間映射關(guān)系外,還可以結(jié)合實(shí)際情況為其自身添加properties。 (3) 經(jīng)前兩個步驟,Neo4j中會產(chǎn)生相應(yīng)的存儲文件,主要有三部分構(gòu)成:nodes存儲文件、relationships存儲文件以及properties文件。 (4) 通過Neo4j將存儲的煤礦領(lǐng)域知識進(jìn)行可視化展示。 目前,我國采取的安全管理模式仍以“事后管理”為主,主要是因?yàn)轭I(lǐng)域數(shù)據(jù)分析工具稀缺,無法做到“事前預(yù)防”。且大多數(shù)煤礦安全監(jiān)測監(jiān)控系統(tǒng)只能滿足于對井下數(shù)據(jù)進(jìn)行監(jiān)測監(jiān)控需求,并不能對其搜集的數(shù)據(jù)進(jìn)行分析與推理。基于知識圖譜的煤礦安全監(jiān)測監(jiān)控系統(tǒng)不僅可以清晰地展示數(shù)據(jù)的具體信息,給用戶傳達(dá)更加多維的知識,幫助用戶決策。而且,能夠?qū)χR信息進(jìn)行推理與分析,及時發(fā)現(xiàn)礦井中的隱含信息,有助于事故的提前預(yù)防和治理,對煤礦安全生產(chǎn)和安全管理有著重要意義。 根據(jù)以上需求,本文設(shè)計(jì)并開發(fā)了煤礦安全監(jiān)測監(jiān)控原型系統(tǒng),實(shí)現(xiàn)對煤礦資源的合理利用及增加數(shù)據(jù)公開透明性。 該煤礦安全監(jiān)測監(jiān)控系統(tǒng)平臺的知識圖譜是基于煤礦領(lǐng)域本體構(gòu)建的,具體系統(tǒng)架構(gòu)如圖14所示。 圖14 煤礦安全監(jiān)測監(jiān)控系統(tǒng)架構(gòu)圖 (1) 數(shù)據(jù)層 數(shù)據(jù)層主要是為了給系統(tǒng)提供數(shù)據(jù)與規(guī)則,是系統(tǒng)運(yùn)行的意義所在。本文數(shù)據(jù)主要來自煤礦領(lǐng)域本體、相關(guān)文獻(xiàn)提取知識等。 (2) 技術(shù)層 技術(shù)層引入Jena推理機(jī)制、知識存儲方法等,能夠?qū)?shù)據(jù)進(jìn)行讀取、存儲和查詢等操作,進(jìn)而實(shí)現(xiàn)知識推理與知識展示。 (3) 應(yīng)用層 應(yīng)用層主要為用戶提供交互操作,能夠使用戶在自己權(quán)限允許的范圍內(nèi)進(jìn)行操作。例如,普通用戶可以對本體模型及規(guī)則進(jìn)行上傳、補(bǔ)充、修改、查看及推理,也可以在系統(tǒng)內(nèi)對實(shí)體、實(shí)體關(guān)系進(jìn)行添加、刪除,以及關(guān)系的查詢。 (4) 展示層 展示層主要的目的是通過網(wǎng)頁的形式能夠向用戶直觀地展示系統(tǒng)中所有功能模塊,便于用戶管理與使用。 煤礦安全監(jiān)測監(jiān)控系統(tǒng)能對煤礦井下設(shè)備、人員、環(huán)境狀態(tài)等信息進(jìn)行展示,用戶能夠很直接地了解煤礦井下安全狀況。以環(huán)境狀態(tài)為例,描述一個環(huán)境,需要知道環(huán)境名稱、環(huán)境類型、環(huán)境指標(biāo)及環(huán)境狀態(tài),而其中的環(huán)境狀態(tài)必須在狀態(tài)實(shí)體構(gòu)建好的基礎(chǔ)上才能創(chuàng)建成功。即對環(huán)境狀態(tài)進(jìn)行了約束,構(gòu)成環(huán)境與狀態(tài)之間的依賴關(guān)系,如圖15、圖16所示,只有創(chuàng)建了normal、abnormal狀態(tài)實(shí)體,才能在創(chuàng)建CO2環(huán)境實(shí)體時選擇對應(yīng)環(huán)境狀態(tài),否則環(huán)境實(shí)體無法順利建立。 圖15 狀態(tài)實(shí)體信息展示界面 圖16 環(huán)境實(shí)體信息展示界面 該系統(tǒng)還可以對已有數(shù)據(jù)進(jìn)行關(guān)系查詢,在關(guān)系類型中選擇對應(yīng)關(guān)系,即可得到對應(yīng)實(shí)體及實(shí)體間關(guān)系。例如,選擇被包含的關(guān)系(INCLUDED_IN)后,查詢結(jié)果如圖17所示,對應(yīng)圖譜展示如圖18所示,Apparatus State儀器狀態(tài)包含on運(yùn)行狀態(tài)、off關(guān)閉狀態(tài)和Disabled無法使用狀態(tài),而on運(yùn)行狀態(tài)又包含Abnormal異常狀態(tài),Abnormal異常狀態(tài)包含Smoking煙霧、Heat熱量、Damp潮濕、Spark火花等狀態(tài)。 圖17 INCLUDED_IN關(guān)系查詢結(jié)果(部分) 圖18 對應(yīng)INCLUDED_IN關(guān)系查詢圖譜(部分) 本文在分析比較幾種常見的本體構(gòu)建方法后,提出一種基于七步法和METHONTOLOGY法的本體構(gòu)建方法,并用該方法構(gòu)建了煤礦領(lǐng)域本體模型。通過對本體與圖數(shù)據(jù)庫映射匹配機(jī)制的分析研究,將煤礦領(lǐng)域數(shù)據(jù)存儲于Neo4j圖數(shù)據(jù)庫中,實(shí)現(xiàn)煤礦領(lǐng)域核心知識圖譜的構(gòu)建。并進(jìn)一步設(shè)計(jì)開發(fā)了煤礦安全監(jiān)測監(jiān)控系統(tǒng),實(shí)現(xiàn)了對礦井設(shè)備、人員等隱含信息的推理、部分圖譜展示及關(guān)系查詢功能,有助于煤礦事故防治與應(yīng)急救援,為礦井安全生產(chǎn)與管理提供基本保障。4 煤礦安全監(jiān)測監(jiān)控系統(tǒng)
4.1 系統(tǒng)設(shè)計(jì)
4.2 系統(tǒng)實(shí)現(xiàn)
5 結(jié) 語