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

利用Neo4j存儲中醫皮膚病“病-證-治”本體方法的研究*

2020-11-25 03:09:32王明強崔一迪陳欣然李國正
世界科學技術-中醫藥現代化 2020年8期
關鍵詞:一致性

王明強,張 磊,崔一迪,陳欣然,李國正

(1. 中國中醫科學院中醫藥信息研究所 北京 100700;2. 中國中醫科學院中醫臨床基礎醫學研究所 北京100700;3. 中國中醫科學院中醫藥數據中心 北京 100700)

本體作為一種概念框架,可對概念及概念間關系進行形式化表示[1]。領域本體屬于本體中的一種,表示對限定領域范圍內概念及其關系的形式化描述[2]。從組成來看,領域本體一般包含一系列重要的領域概念,用于描述概念的概念屬性、概念間關系(分類關系與非分類關系)以及屬性關系約束等部分[3]。通常采用資源描述框架(RDF)、網絡本體語言(OWL)、屬性圖等模型進行本體的表示。本體數據的存儲實質是指RDF 有向圖數據的存儲,其存儲的基本單位是RDF三元組[4],通常表示為“(Subject,Project,Object)”的形式,其中Subject 由統一資源標識符(Uniform resource identifiers, URI)或空白節點構成,表示三元組中的主體部分;Project 一般為統一資源標識符,表示三元組中連接主客體間的關系;Object為統一資源標識符、空白節點或帶有數據類型的值,表示三元組中客體部分。通過三元組形式可以表示出領域中的特定知識,大量的三元組有機地聯系組合在一起則構成領域本體。隨著三元組規模的不斷擴大,傳統的基于關系型數據庫的存儲方法會出現許多問題,諸如直接存儲RDF 數據時出現大量自連接、稀疏屬性下形成大量空白單元格、信息檢索效率不斷下降甚至難以實現復雜關系查詢等問題。從功能上來看,本體模式層面的概念與關系一旦被表述清晰,其所對應的實例層面各個實例及之間關系便得以有繼承性且規范化表達,這反映了本體對實例數據及其間關系一致性的約束。因此選擇合適的本體存儲方式并實現對存儲數據進行一致性檢驗是合理應用領域本體的基礎。

Neo4j 屬于圖數據庫,隨著現實世界中相互聯系的數據規模的不斷擴大,圖數據庫為信息存儲提供了高效的解決方案[5],其采用屬性圖的結構存儲數據,這種存儲形式特別適合路徑查詢與模式發現[6]。屬性圖的組成方式主要為具有屬性的節點通過關系相互聯系,每個節點可以被賦予一個或多個表示所屬類型的標簽,每一個關系必須有起始節點及其所指向的終節點,節點和關系上均可以添加以“鍵-值”對形式存在的“屬性-屬性值”對。這種數據結構可以高效地實現數據建模,從而使Neo4j 數據模型在表達能力上表現出眾。RDF 數據模型具有天然的圖結構,以屬性圖模型存儲可以避免RDF 邏輯數據模型到物理數據模型轉換時的信息缺失[7]。同時,Neo4j 能夠有效解決多維RDF 數據中屬性個數不一帶來的內存浪費問題,通過給邊賦予屬性靈活地擴展網絡模型,通過深度遍歷接口以相同的速度遍歷節點與關系,從而解決了出現大量連接查詢時性能衰退的問題[8]。Cypher 語言是Neo4j 所使用的圖形查詢語言,具有語法簡單、功能強大的特點,能構建出高度復雜的數據庫查詢語句,從而使用戶專注于所關注的領域而非如何訪問數據庫的問題上[9]。因此,利用Neo4j 存儲領域本體并通過Cypher 語言構建命令,以實現數據一致性檢驗,這種方法被視為構建領域本體的方法之一。

中醫藥領域本體是疾病、病因病機、癥狀、證候、治法、方藥等相關概念及其屬性、關系的網絡化整合,國家知識基礎設施(National knowledge infrastructure,NKI)課題將中醫本體分為30多種類別[10]。目前,已有學者開展了領域本體構建的相關研究,例如,田甜等[11]構建以五臟為中心的知識本體,以用于挖掘肺與大腸間疾病證治規律;曹馨宇等[12]從梳理中醫冠心病養生相關知識的角度入手,利用多個醫學術語系統或集合規范多數據來源術語及語義關系,初步構建了面向養生需求的冠心病知識本體;李新龍等[13]通過研究指南、標準、教材等具有較高公認性的文獻,梳理并構建了包含臨床表現、診療、療效在內的中醫師辨證論治體系頂層本體;于彤等[14]構建了面向中醫藥領域的規范化頂層本體,為中醫藥學語言系統中的概念提供了一體化的概念框架并形成了相關國際標準;龍海等[15]提出了在通用形式化本體基礎上構建中醫藥頂層本體的思路與研究方向。研究者對中醫藥局部或頂層本體構建研究傾注了大量心血,但由于中醫藥領域概念繁多,相互間關系錯綜復雜,構建完全覆蓋所有概念、關系以期構建中醫藥領域本體的難度非常大。因此,本研究主要集中于構建中醫皮膚病在“疾病-證候-治法”范圍內的領域本體,通過較小規模的領域本體構建以及對所構建本體的數據一致性進行檢驗研究,初步實現利用Neo4j 構建、存儲具有一定擴展性和較高準確性的領域本體,為后續更大規模領域本體的構建工作奠定基礎。

1 材料

中醫皮膚病實例參考《全國中醫藥行業高等教育“十二五”規劃教材·全國高等中醫藥院校規劃教材(第9版):中醫外科學》[16]皮膚疾病部分內容。

本體存儲工具使用Neo4j Desktop 1.1.9客戶端(包含Neo4j 數據庫3.4.8版)。

2 方法與結果

2.1 中醫藥皮膚病領域本體RDF模型設計

本研究主要研究的領域本體對象為中醫皮膚病“疾病-證候-治法”概念及其之間的關系。此處疾病主要指中醫臨床常見皮膚病,證候指臨床辨證常見的證候類型,治療方法包括:內治法、外治法。前者指在辨明證候后采用內服方藥方法針對該病證候進行治療的方法,后者指針對該皮膚病所采取的體外治療方法。

從模型角度來看,該領域本體包括了類(Class)、屬性(Property)以及實例(Individual)三種元素。

類(Class),是指構成研究領域本體的相關概念,屬于RDF 模型中的主體(Subject)或客體(Object)。可表示為(中醫皮膚病,rdfs:type,Owl:Class),即“中醫皮膚病”的類型屬于“類”,其他如“中醫疾病”“證候”“治法”“內治法”“外治法”等均屬于類。

屬性(Property)包含了數據屬性(Data property)與對象屬性(Object property)。數據屬性指領域本體概念自身所具有的屬性,如疾病的內涵、發病部位、發病時間等均為反映疾病自身特點的屬性。對象屬性用于描述領域概念間或實例間所具有的關系,通常具有限定的定義域(Domain)與值域(Range)。定義域中的數據類型可以為類(Class)、空白節點(Blank node),值域中的數據類型可以為類(Class)、空白節點(Blank node)以及帶有數據類型屬性的值(Literal)。常見的對象屬性有父子關系(SubClassOf)以及類與實例間關系(rdf :type)。如SubClassOf(中醫皮膚病,中醫疾病)表示中醫皮膚病是中醫疾病的子類;type(接觸性皮炎,中醫皮膚病)表示接觸性皮炎的疾病類型是中醫皮膚病。

實例(Individual)指臨床中具體發生的疾病、證候、治法,如接觸性皮炎,血虛風燥證,養血潤燥、祛風止癢等分別為前述類下的實例。可表示為(接觸性皮炎,rdfs:type,owl:Namedindividual)等類似結構。

結合對前文概念的認識,構建了對應的對象屬性與數據屬性,并對其定義域、值域進行了限定。具體結果見表1。

根據對類、屬性、實例的認識與設計,以常見中醫皮膚病:接觸性皮炎為例,構建出對應的RDF 模型圖,具體結果見圖1。

表1 中醫藥皮膚病“病-證-治”本體屬性的設計

圖中實例節點為接觸性皮炎及其相關證候、內治法、外治法實例,相互間關系通過預定義的對象屬性進行關聯,并與對應的類節點進行聯系;中醫疾病、中醫皮膚病、證候、治法、內/外治法等類節點間有層次關系(SubClassOf)或預定義的對象屬性關系,在類間為突出對象屬性的方向性,特將對象屬性設定為節點并指明其定義域與值域,同時這種表達也將為后續進行數據一致性檢驗奠定基礎。

圖1 中醫常見皮膚病“病-證-治”本體的RDF模型

2.2 利用Neo4j存儲RDF模型

RDF 模型以(Subject, Project, Object)三元組形式存在,與 Neo4j 由“節點 1”-“關系”->“節點 2”構成的有向的基本數據模型相類似,故可采用將RDF 模型映射到Neo4j 數據模型的方式將之存入Neo4j 中。為方便理解,將RDF 模型表示為“節點名稱(s , p , o)”,節點名稱可從相應的URI中提取。

本研究所構建的相關映射規則如下:

(1)RDF 模型中表示類的節點C(URI,rdfs:type,OWL : Class),在 Neo4j 中將節點標簽映射為“Class”,屬性至少包含“label:C”與”uri:URI”,如C 有數據屬性,也應映射到Neo4j相應節點中。

RDF模型:

C(URI,rdfs:type,OWL:Class)

映射至Neo4j模型:

(: Class{label : C , uri : URI , property : datatype property})

(2)RDF 模型中表示實例的節點I (URI , rdf :type,C),在Neo4j 中將節點標簽映射為“C”,屬性至少包含“name:I”與“uri:URI”,如 I 有數據屬性,也應映射到Neo4j相應節點中。

RDF模型:

I(URI,rdf:type,C)

映射至Neo4j模型:

(: C{name : I , uri : URI , property : datatype property})

(3)RDF 模型中表示對象屬性的節點OP (URI ,rdfs:type,OWL:ObjectProperty),在 Neo4j中將節點標簽映射為“ObjectProperty”,屬性至少包含“label :OP”與“uri :URI”,由于RDF 模型中實際表示對象屬性時是顯示在連接兩節點的邊上,并不具有數據屬性,故沒有數據屬性項需要映射。

RDF模型:

OP(URI,rdfs:type,OWL:ObjectProperty)

映射至Neo4j模型:

(:ObjectProperty{label:OP,uri:URI})

(4)RDF 模型中表示對象屬性/關系的邊rdf(s) :OP(URI),在 Neo4j 中將標簽映射為“OP”,屬性為“uri:URI”。

RDF模型:

rdf(s):OP(URI)

映射至Neo4j模型:

(:OP{uri:URI})

依照上述映射規則,將已構建的RDF 模型映射并存儲至Neo4j 中,得到如圖2 所示結果:紫色節點表示RDF 模型中的中醫皮膚病“疾病-證候-治療”相關的類節點,類間滿足父子關系的以SubClassOf關系連接;藍色節點表示自定義的三種對象屬性(syndrome_differentiation, treatment_of_syndrome, treatment_of_disease),通過DOMAIN、RANGE 關系指向相應的類以明確對象屬性的定義域(Domain)、值域(Range)約束;紅色節點表示中醫皮膚病下的疾病實例,綠色節點、粉色節點分別表示每個“中醫皮膚病”實例“辨證為”的“證候”實例以及“對病治療”的“外治法”實例;黃色節點表示每個“證候”實例“對證治療”的“內治法”實例。

2.3 對Neo4j中數據進行一致性檢驗

由類節點與對象屬性節點及其間關系構成的本體模式層,實現了對對象屬性定義域、值域的約束,如對象屬性:“辨證為”被約束定義域為“中醫皮膚病”、值域為“證候”,結合實例中如“接觸性皮炎”-“辨證為”->“血虛風燥證”,利用Cypher語言編寫檢驗“辨證為”在實例層中其定義域與值域是否符合模式層的約束,通過對所有對象屬性的定義域、值域進行檢驗實現對已添加在實例層中數據的一致性驗證,快速發現隱藏在實例層中的錯誤表述,及時反饋給相關人員以便修正。

2.3.1 針對對象屬性定義域(DOMAIN)的數據一致性檢驗

檢驗思路如下:

(1)匹配符合由對象屬性節點op通過DOMAIN 關系指向類節點c的所有模式,并返回對象屬性節點、類節點的 uri、label屬性值。

(2)匹配(n)-[r]->()模式,找出關系r與定義的對象屬性op.label 一致,但實例節點類型n:Label 不在本體模式層所定義的類c.label 范圍者,即找出DOMAIN 所指向的實例不符合類的約束者。

(3)返回定義域錯誤的節點、關系,提示正確的歸類。

對應的Cypher語句實現如下:

圖2 由RDF模型映射并存儲在Neo4j中的中醫皮膚病領域本體示例圖

表2 對象屬性定義域(DOMAIN)的數據一致性檢驗,存儲的實例定義域指向錯誤時的結果

MATCH (c: Class) <- [: DOMAIN]- (op:ObjectProperty)

WITH c.uri as class, c.label AS classLabel, op.uri AS prop,op.label AS propLabel

MATCH (n)-[r]->() WHERE type(r)=propLabel AND NOT classLabel in Labels(n)

RETURN id(n) AS Node_ID, n.name AS Node_name,'domain of ' + propLabel + ' [' + prop + ']' AS 'Check Failed','Node labels:('+reduce(s='',l IN Labels(n)|s+''+l)+')should be'+classLabel AS ExtraInfo

經一致性檢驗,當存儲的實例出現定義域指向錯誤時,如出現類似“濕疹<-辨證為-濕熱內蘊證”的表達時,則會給出如表2的結果。

提示ID 為81 的節點“濕熱內蘊證”作為“證候”類不應出現在“辨證為”關系的定義域中,真正的定義域應為中醫皮膚病類下的實例。該Cypher 語句可以較快地遍歷相關數據,找出不符合模式層所給定的對象屬性定義域約束的實例并給出其所在位置(Node ID)及名稱(Node name),方便人工干預,提高領域本體的準確性。

2.3.2 針對對象屬性值域(RANGE)的數據一致性檢驗

與前述對象屬性定義域(DOMAIN)的數據一致性檢驗思路類似,構建的Cypher語句如下:

MATCH(c:Class)<-[:RANGE]-(op:ObjectProperty)

WITH c.uri as class, c.label AS classLabel, op.uri AS prop,op.label AS propLabel

MATCH (n)-[r]->() WHERE type(r)=propLabel AND NOT classLabel in Labels(n)

RETURN id(n) AS Node_ID, n. name AS Node_name, ' range of ' + propLabel + ' [' + prop + ']' AS 'Check Failed', ' Node labels: (' + reduce(s = '', l IN Labels(n) | s + '' + l) + ') should be ' + classLabel AS ExtraInfo

當對象屬性值域出現錯誤時,給出類似于定義域數據一致性檢驗的錯誤信息及提示。操作人員可以根據反饋的一致性檢驗結果快速查找到錯誤節點并進行修正。

本體的模式層是對領域本體及其間關系的高度總結,而上述數據一致性檢驗僅與本體模式層的構建形式相關,與具體的類或對象屬性類型無關。因此,將對象屬性構建為節點,以DOMAIN、RANGE 作為對象屬性指向相應類間的關系,以這樣的模式構建本體模式層,利用前述給出的Cypher 語句來實現數據一致性檢驗,可以快速檢驗本體間關系的準確性,且這種檢驗方式通用性、可遷移性強,可以用在除中醫藥領域外的其他不同領域,從而提升了已有本體、以及新存儲實例的數據準確性,并能快速定位錯誤節點或關系,利于及時修正。

3 討論

本研究以中醫皮膚病在“疾病-證候-治療”范圍內相關的類及關系為基礎,確定了中醫皮膚病、證候、內治法、外治法等類以及自定義的“辨證為”“對證治療”“對病治療”等關系為研究對象,通過分析類間關系、實例與類的對應關系構建RDF 模型,形成對中醫皮膚病“疾病-證候-治療”領域本體的具體認識及規范化表達,為避免基于關系型數據庫存儲方式帶來的大量自連接、稀疏屬性且擴展性有限的缺點,故選擇具有能夠以屬性圖形式存儲具有復雜關系數據且擴展性強特點的Neo4j 作為存儲領域本體的數據庫。為檢驗已存入數據的準確性,利用Neo4j 的查詢語言Cypher 構建了對對象屬性定義域、值域進行數據一致性檢驗的語句,實現對預定義關系矛盾點的檢測定位與修正提示,方便研究者快速、準確地進行人工干預。該命令具有較好的遷移性與適應性,即使領域本體在后續研究中不斷增加新的類或對象類型或需要遷移至其他領域本體,這些語句均可進行適當修改以完成對數據一致性的檢驗。

由構建RDF 模型分析領域本體間關系到通過映射規則將本體存儲至Neo4j 中、并對存儲數據一致性檢驗的研究方法,既實現了領域本體的規范化表達,又滿足了本體擴展性與數據可靠性的要求,從而為構建準確性較高的中醫藥領域本體提供了參考。但該研究也存在一定局限性:其一,所研究的領域本體規模較小、本體間關系復雜度有限,對應的映射規則也較為簡單,更大規模的本體需要考慮構建更為復雜的映射規則,一旦出現錯誤映射將導致本體間在邏輯上沖突[17],這種錯誤也會誤導一致性檢驗語句的構建;其二,本研究未涉及對數據屬性以及SubClassOf層次關系的數據一致性檢驗,前者檢驗方法類似于對象屬性數據一致性檢驗方法,后者則是目前尚未解決的問題。因此,在后續研究中本課題組將繼續擴大領域本體范圍,不斷提高模型復雜度,借鑒學習國內外研究者在相關領域中的研究,構建更為完善的映射規則與數據一致性檢驗方法,以期能夠更好地利用Neo4j 存儲中醫藥領域本體,為實際應用奠定基礎。

猜你喜歡
一致性
注重整體設計 凸顯數與運算的一致性
遼寧教育(2022年19期)2022-11-18 07:20:42
關注減污降碳協同的一致性和整體性
公民與法治(2022年5期)2022-07-29 00:47:28
商用車CCC認證一致性控制計劃應用
注重教、學、評一致性 提高一輪復習效率
對歷史課堂教、學、評一體化(一致性)的幾點探討
IOl-master 700和Pentacam測量Kappa角一致性分析
基于CFD仿真分析的各缸渦流比一致性研究
ONVIF的全新主張:一致性及最訪問控制的Profile A
方形截面Rogowski線圈的一致性分析
電測與儀表(2016年7期)2016-04-12 00:22:18
基于事件觸發的多智能體輸入飽和一致性控制
主站蜘蛛池模板: WWW丫丫国产成人精品| 国产乱子伦一区二区=| 高清国产在线| 国产精品自在线天天看片| 国产91丝袜| 亚洲日韩精品伊甸| 国产91色| 成人看片欧美一区二区| 99精品在线看| 精品久久国产综合精麻豆| 亚洲香蕉久久| 国产精品亚洲一区二区三区z| 免费人成网站在线高清| 亚洲无码视频喷水| …亚洲 欧洲 另类 春色| 成人福利在线视频| 国产成人精品免费av| 亚洲色图欧美| 亚洲狠狠婷婷综合久久久久| 最新亚洲av女人的天堂| 国产91在线免费视频| 1024你懂的国产精品| 99re在线免费视频| 夜夜操狠狠操| 中文字幕无码制服中字| 91精品久久久无码中文字幕vr| 巨熟乳波霸若妻中文观看免费| 亚洲女同一区二区| 亚洲成年人网| 9啪在线视频| 国产九九精品视频| 永久免费无码成人网站| 99精品在线看| 亚洲成人网在线观看| 国产在线精彩视频论坛| 极品国产在线| 香蕉在线视频网站| 玩两个丰满老熟女久久网| 国产一区二区在线视频观看| 亚洲AV无码精品无码久久蜜桃| 国产自在线拍| 国产无码高清视频不卡| 91精品国产91久无码网站| 欧美一级黄片一区2区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 99热精品久久| 国产成人亚洲欧美激情| 国产制服丝袜无码视频| 国产日韩欧美在线视频免费观看| 99热国产这里只有精品9九 | 激情影院内射美女| 99视频有精品视频免费观看| 国产欧美日韩在线在线不卡视频| 找国产毛片看| 亚洲国产在一区二区三区| 亚洲综合狠狠| 亚洲一级毛片在线观播放| 国产一二三区在线| 欧美国产日韩另类| 91偷拍一区| 亚洲欧美自拍视频| 国产女人水多毛片18| 狠狠五月天中文字幕| 欧美啪啪网| 丝袜国产一区| 呦女精品网站| 午夜国产精品视频黄 | 国产精品高清国产三级囯产AV| 国产成人精品免费视频大全五级| av在线无码浏览| 日韩视频免费| 黄色a一级视频| 伊人久久综在合线亚洲2019| 日韩无码一二三区| 国产亚洲欧美另类一区二区| 亚洲国产精品VA在线看黑人| …亚洲 欧洲 另类 春色| 亚洲国产精品成人久久综合影院 | 免费一级全黄少妇性色生活片| 精品乱码久久久久久久| 亚洲日本一本dvd高清| 色九九视频|