• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于R2RML的醫(yī)學主題詞表RDF轉換實現(xiàn)*

      2019-06-19 06:52:20吳思竹修曉蕾李艷梅
      醫(yī)學信息學雜志 2019年5期
      關鍵詞:關系數(shù)據(jù)庫詞表主題詞表

      吳思竹 修曉蕾 李艷梅 錢 慶

      (中國醫(yī)學科學院醫(yī)學信息研究所 北京 100020)

      1 引言

      2001年Bernerslee T 等人首次提出語義網(wǎng)概念[1]。隨著語義網(wǎng)的興起,關聯(lián)數(shù)據(jù)得到越來越多的發(fā)展[2],圖書館界已意識到關聯(lián)數(shù)據(jù)和語義網(wǎng)絡是公開集合數(shù)據(jù)更好的手段,而源描述框架(Resource Description Framework,RDF) 是更適合于語義網(wǎng)的數(shù)據(jù)模型。為將關系數(shù)據(jù)庫中的數(shù)據(jù)融入到語義網(wǎng)中需要將其轉換成RDF,這一轉換過程被稱為RDB2RDF。

      作為國際上最具代表性、使用最廣泛的受控醫(yī)學綜合性敘詞表——醫(yī)學主題詞表(Medical Subject Headings,MeSH)[3],一些機構嘗試從不同出發(fā)點、利用不同轉換技術和語義模型進行MeSH的RDF轉換。2004年Van Assem等人利用簡單知識組織系統(tǒng)(Simple,SKOS)的RDF模型,首次將MeSH轉換成RDF[4],2006年科學共享研究人員對Van Assem轉換模型進行稍微修改,實現(xiàn)MeSH主題詞-副主題詞的組配[5],2006年Bio2RDF項目采用Web語義技術對MeSH轉換[6-7]及BioPortal對其進行嘗試。這些機構的嘗試僅涵蓋MeSH功能的一部分,缺少原始資源中一些細節(jié),如主題詞-副主題詞的組配、上下位關系等。2009年美國國立醫(yī)學圖書館(National Library of Medicine,NLM)的醫(yī)學本體研究組織(Medical Ontology Research,MOR),利用擴展樣式表轉換語言(Extensible Stylesheet Language Transformations,XSLT)將MeSH的可擴展標記語言(Extensible Markup Language,XML)表示形式轉換成RDF且對其定期維護更新至今[8]。該版本保留MeSH的 3級概念結構,實現(xiàn)上下位關系,具有一定的權威性和借鑒性。但MeSH結構太復雜,限制在XML版本中明確呈現(xiàn)MeSH特征的RDF表示方式不能很好地表達一些重要特征(包括主題詞之間的層級關系),也不能實現(xiàn)主題詞-副主題詞組配。

      2 R2RML映射語言

      2003年W3C發(fā)布了調查報告"Mapping Semantic Web Data with RDBMSes"[9],其中分析進行RDB2RDF需要解決的主要問題及現(xiàn)有解決方案和相關工具,指出RDB2RDF的關鍵是定義一種映射語言。2012年W3C推 薦 Direct Mapping和R2RML兩種映射語言。Direct Mapping為直接映射,將關系數(shù)據(jù)庫表結構和數(shù)據(jù)直接輸出為RDF圖,RDF圖中用于表示類和謂詞的術語與關系數(shù)據(jù)庫中的表名和字段名保持一致,完全是關系數(shù)據(jù)庫數(shù)據(jù)結構的反映,且不可更改[10];而R2RML則有高度的可定制性。R2RML映射是指從關系庫中檢索數(shù)據(jù)的邏輯表(LogicalTable),如基本表、視圖或有效結構化查詢語言(Structured Query Language,SQL)查詢,然后使用三元組映射(TriplesMap)將每個邏輯表映射為RDF[11]。三元組映射是指主語映射(SubjectMap)、謂語映射(PredicateMap)和賓語映射(RefObjectMap) 或引用客體映射(RefObjectMap)。R2RML邏輯框架,見圖1。

      圖1 R2RML邏輯框架[5]

      3 醫(yī)學主題詞表(MeSH)

      3.1 結構

      MeSH具有一套完整的數(shù)據(jù)體系結構,包括主題詞表、副主題詞表、增補概念詞表、樹形結構表等部分,采用3級概念結構模式進行組織,第1層由主題詞、副主題詞和補充概念記錄(SCR)組成,第2層由念的同義術語組成,第3層由術語組成。3級結構可以將MeSH的語義關系明確清晰地標識出來,描述信息也從原來的主題詞級別細分到主題詞、概念、術語級別。這種結構有利于計算機理解和處理,支持從多個維度組織和查詢生物醫(yī)學信息資源,有助于整體提升MeSH的易用性及性能。

      3.2 解析

      從NLH官網(wǎng)下載XML格式的MeSH詞表(2017版),通過解析MeSH的XML獲得主題詞表、副主題詞表、補充概念記錄表、概念表等多個詞表,導入數(shù)據(jù)庫中。為減少數(shù)據(jù)庫冗余度和RDB2RDF的時間消耗及避免空白節(jié)點,對MeSH數(shù)據(jù)庫的原始表格重新進行數(shù)據(jù)建模和適當?shù)牟鸱趾喜?,最終共建立21個表格。統(tǒng)計解析后的MeSH詞表,共有主題詞28 472個,副主題詞80個,主題詞術語115 845個,與官網(wǎng)數(shù)據(jù)相一致[12]。MeSH各個詞表數(shù)據(jù)關系,見圖2。其中descriptor1表存儲的是descriptor基本屬性中一對一的屬性,descriptor2表中存儲的是descriptor基本屬性中一對多或多對多的屬性;同理表concept1、concept2、scrs1和scrs2。這樣有利于減少節(jié)點冗余度和時間消耗。

      圖2 MeSH各詞表數(shù)據(jù)關系

      4 R2RML映射文檔

      4.1 步驟

      本實驗在將MeSH從RDB格式轉換RDF的過程中,借鑒NLM在利用XSLT將MeSH的XML表示形式轉換成RDF過程中對MeSH類和謂語的規(guī)定,通過R2RML映射規(guī)則將其轉換成RDF。根據(jù)MeSH體系結構規(guī)定16個類,各類之間的關系,見圖3。

      圖3 MeSH各類之間的關系

      根據(jù)MeSH的XML表示形式解析情況規(guī)定abbreviation、allowableQualifier、altLabel、annotation、broaderConcept、broaderDescriptor 等47個謂語。相較于NLM對MeSH謂語的規(guī)定,本實驗少了兩個謂語meshv:active和meshv:lastActiveYear。因查找MeSH的XML格式及XSD格式均未查到這兩個屬性。根據(jù)MeSH各詞表在關系數(shù)據(jù)庫中的存儲情況及上述規(guī)定的各個類和謂語,分別定義R2RML映射文檔,將存儲在關系數(shù)據(jù)庫表中的數(shù)據(jù)轉換為RDF數(shù)據(jù)。書寫映射文檔,首先需定義R2RML的命名空間rr以及MeSH醫(yī)學主題詞表數(shù)據(jù)描述使用的命名空間ex及RDF語法模式的命名空間rdf、rdfs等。在映射文檔中需要定義一系列RDF術語,如語言標簽rr:language、數(shù)據(jù)類型rr:datatype等。根據(jù)R2RML映射模式將數(shù)據(jù)庫中MeSH詞表的所有映射文檔分為4類。

      4.2 一表對一表映射

      即主題詞表、副主題詞表、補充概念記錄詞表、概念表等的基本屬性表,其無需與其他表進行關聯(lián),現(xiàn)以term基本屬性表為例。模式1:為表創(chuàng)建三元組映射,指定表名對應rr:logicalTable的值。在TriplesMap中使用rr:template創(chuàng)建rr:subjectMap來定義每一行的URI template,具有映射文檔如下:

      這是一個表映射的直接映射。對于表的本體類,用戶可以在主語映射rr:subjectMap中利用rr:class為映射表設置相應本體類(如),用戶也可以在謂語對象映射(rr:predicateObjectMap)中選擇指定表的特定本體類,如descriptor基本屬性表的映射:

      4.3 一屬性對一屬性的映射

      各MeSH詞表中無需與其他列進行關聯(lián)的各列的映射,如DateCreated、DateEstablished、DateRevised、HistoryNote等,現(xiàn)以treenumber表為例。模式2:給定一個TriplesMap,為該屬性創(chuàng)建rr:predicateObjectMap,對于本體屬性和rr:objectMap屬性只有一個rr:predicate,具有映射文檔如下:

      這是屬性映射的一個直接映射,可為各個屬性自動生成一個唯一的本體屬性。

      4.4 兩表之間含外鍵映射

      MeSH中含外鍵的兩表之間的映射,如主題詞表、副主題表與概念表、術語表等之間的映射,主題詞表、副主題表均含有外鍵PreferredConcept、PreferredTerm,現(xiàn)以concept表與term表之間的映射為例。模式3:給定兩張表,一張表視為子類,另一張表則是父類。為每個表創(chuàng)建一個TriplesMap。給子類TripleMap創(chuàng)建一個rr:predicateObjectMap,除rr:predicate外還有一個rr:objectMap,其具有一個rr:parentTripleMap和一個rr:joinCondition。rr:parentTripleMap將指向父類TripleMap,rr:joinCondition將有一個rr:child和rr:parent,分別表示子表和父表中的連接屬性。具有映射文檔如下:

      4.5 含外鍵的多表之間映射

      模式4: 創(chuàng)建一個具有R2RML視圖的TriplesMap,該視圖由rr:logicalTable組成,rr:logicalTable包含一個rr:sqlQuery,其包含一個表示連接的SQL查詢,其R2RML映射模式如下:

      如果是兩個表之間的映射可以使用模式4,但多個表之間的映射則必須使用模式4的SQL查詢。模式4與模式3不同的是:模式3用戶需要添加額外的三元組實例來映射連接兩表的屬性;而模式4用戶是通過修改SQL查詢來增加連接屬性。

      4.6 鏈接多個表之間的映射

      模式5:為多對多表創(chuàng)建TriplesMap。指定rr:logicalTable,其值對應于多對多表的表名。在TriplesMap中使用rr:template創(chuàng)建一個rr:subjectMap,以定義多對多關系中一個表的URI template。創(chuàng)建一個rr:predicateObjectMap實例,其具有本體屬性的rr:predicate。最后使用rr:template創(chuàng)建一個rr:objectMap來定義多對多關系的另一個表的URI template,具體如下:

      5 系統(tǒng)實現(xiàn)

      在進行數(shù)據(jù)轉換的過程中通過調研和比較選擇的編程語言是Java,數(shù)據(jù)庫服務器使用MySQL,轉換工具選擇第3方工具DB2Triples。DB2Triples[13]是由Antidot公司開發(fā)的用于從關系型數(shù)據(jù)庫中抽取數(shù)據(jù)并將其轉換為RDF三元組存儲的開源工具。其同時支持R2RML和Direct Mapping兩種映射語言標準。DB2Triples支持數(shù)據(jù)實體化的映射實現(xiàn)方式,但不提供數(shù)據(jù)查詢方式。實體化后的RDF圖可以RDF/XML、 N3、N-Triples或Turtle格式進行序列化。在Direct Mapping模式下可選擇使用來自SPARQL文件的查詢以轉換RDF圖。根據(jù)上述書寫好的R2RML映射規(guī)則,基于MySQL數(shù)據(jù)庫和Java編程語言,利用DB2Triples實現(xiàn)RDB2RDF的轉換?,F(xiàn)以Descriptor表為例,簡單介紹其數(shù)據(jù)轉換過程:新建eclipse的工作區(qū)workplace和java project;將DB2Triples工具包導入eclipse。代碼如下:

      將上述映射文檔descriptor1.ttl存儲在java project中;運行descriptor1.java代碼,輸出RDF文件descriptor1.n3。其RDF片段如下:

      6 結語

      本文基于R2RML映射語言,利用R2RML Tool工具實現(xiàn)醫(yī)學主題詞表的RDF轉換。無論關系數(shù)據(jù)庫表結構如何都可以進行映射轉換。關系數(shù)據(jù)庫相較于XML格式的數(shù)據(jù)存儲,其數(shù)據(jù)組織更加靈活。但正因如此原始的關系數(shù)據(jù)模型與RDF數(shù)據(jù)模型往往會存在不完全匹配的情況[13]。因此為達到更優(yōu)的映射效果,不僅需要構建好的映射規(guī)則,在應用R2RML映射規(guī)則進行RDB2RDF數(shù)據(jù)轉換之前不要受當前關系數(shù)據(jù)庫表結構的局限,根據(jù)所映射的RDF實體之間的關系適當對原有關系表進行拆分和合并,重新進行數(shù)據(jù)建模,做好關系數(shù)據(jù)庫的設計,構建好數(shù)據(jù)庫的主外鍵關聯(lián)關系,以通過R2RML標準映射規(guī)則的編寫達到相對合適的轉換要求,保證轉換效果。

      R2RML提供一種將關系數(shù)據(jù)庫中數(shù)據(jù)結構映射為RDF數(shù)據(jù)模型的便捷方法,提高不同工具平臺之間的互操作性,有利于促進RDF數(shù)據(jù)以及關聯(lián)數(shù)據(jù)的產(chǎn)生和更廣泛的應用。R2RML映射規(guī)則還存在一定的不可移植性以及非健壯性[14],如當關系數(shù)據(jù)庫模式發(fā)生變化時R2RML映射文檔基本需要重新映射和修改。

      猜你喜歡
      關系數(shù)據(jù)庫詞表主題詞表
      關系數(shù)據(jù)庫在高爐數(shù)據(jù)采集系統(tǒng)中的應用
      山東冶金(2022年2期)2022-08-08 01:51:30
      《〈漢語主題詞表〉構建研究》
      《〈漢語主題詞表〉構建研究》
      A Chinese-English List of the Sports Programmes in Winter Olympics 冬奧會項目名稱漢英對照詞表
      英語世界(2021年13期)2021-01-12 05:47:51
      《〈漢語主題詞表〉構建研究》
      《〈漢語主題詞表〉構建研究》
      敘詞表與其他詞表的互操作標準
      基于索引結構的關系數(shù)據(jù)庫關鍵詞檢索
      一種基于數(shù)據(jù)圖劃分的關系數(shù)據(jù)庫關鍵詞檢索方法
      國外敘詞表的應用與發(fā)展趨勢探討*
      圖書館建設(2012年3期)2012-10-23 05:16:30
      左贡县| 东乌珠穆沁旗| 仲巴县| 西吉县| 徐闻县| 腾冲县| 孟连| 奉新县| 馆陶县| 内黄县| 蕉岭县| 苍梧县| 双辽市| 临高县| 祁门县| 精河县| 瓦房店市| 谷城县| 赫章县| 沧源| 北海市| 兴宁市| 萨嘎县| 随州市| 司法| 云南省| 丰顺县| 朝阳区| 图们市| 秦皇岛市| 昌黎县| 绍兴县| 石屏县| 巍山| 措美县| 寻乌县| 兴城市| 修水县| 济南市| 嘉义市| 丽江市|