楊王黎, 鄭雪蕓, 袁滿(東北石油大學 計算機與信息技術(shù)學院,大慶 163318)
關(guān)系模型向RDF(S)模型轉(zhuǎn)換研究
楊王黎, 鄭雪蕓, 袁滿
(東北石油大學 計算機與信息技術(shù)學院,大慶 163318)
隨著語義Web的發(fā)展,各個領(lǐng)域為實現(xiàn)數(shù)據(jù)共享將其數(shù)據(jù)發(fā)布成關(guān)聯(lián)數(shù)據(jù),然而,目前各個領(lǐng)域的數(shù)據(jù)基本上被存儲在關(guān)系數(shù)據(jù)庫中。為了使文檔網(wǎng)絡(luò)能更好地向數(shù)據(jù)網(wǎng)絡(luò)轉(zhuǎn)變,并將存儲在關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成賦有語義的資源描述框架及其模式(稱為RDF(S)),在分析關(guān)系模型與RDF(S)模型組成的基礎(chǔ)上,分別給出了它們形式化的定義;同時根據(jù)這兩個形式化的定義,又提出了關(guān)系模型向RDF(S)模型的映射規(guī)則。通過對目前典型關(guān)系模型發(fā)布工具的篩選,選取D2RQ和Ontop工具在映射和SPARQL查詢上進行對比分析,按照所定義的規(guī)則實現(xiàn)了將關(guān)系模型向RDF(S)的映射轉(zhuǎn)換。研究結(jié)果表明這兩個工具均能較好完成關(guān)系模型向RDF(S)轉(zhuǎn)換,并且在SPARQL查詢上Ontop效率更高。
關(guān)系模型; RDF(S); 關(guān)聯(lián)數(shù)據(jù); D2RQ; Ontop
Abstract: With the development of semantic Web, various fields publish data with the form of linked data to realize the sharing of data. However, at present, all kinds of data are stored in the relational database. In order to transform the Web of document to the Web of data, the data stored in the relational database should be converted into a semantic resource description framework and their schema (referred to as RDF (S)). Based on the analysis of the composition of the relational model and the RDF(S) model, their formal definitions are given respectively. At the same time, according to the two formal definitions, the rules of mapping the relational model to the RDF(S) model are proposed. Based on the relation models of the typical publishing tool, D2RQ and Ontop tools were selected and analyzed in the mapping and SPARQL query. According to the defined rules, the RDF (S) mapping conversions are completed. The research results show that the two tools can complete the conversion of relational model to RDF(S), and the Ontop is more efficient in SPARQL query.
Keywords: Relational model; RDF(S); Linked data; D2RQ; Ontop
隨著Web的發(fā)展,信息資源呈爆炸式增長,Web成為了巨大的信息存儲倉庫。如何自動有效地處理Web海量的信息成為Web科學家需要迫切解決的問題。在此情況下互聯(lián)網(wǎng)之父Tim Berners-Lee于2000年在XML大會上正式提出了語義Web(Semantic Web)的概念[1]。語義Web是對當前Web的擴展,目的是讓Web從以前的文檔網(wǎng)絡(luò)(Web of Document)轉(zhuǎn)向數(shù)據(jù)網(wǎng)絡(luò)(Web of Data),讓以前只有人能理解的信息變成機器也能理解,也就是說,為信息賦予確定的語義信息。關(guān)聯(lián)數(shù)據(jù)(Linked data)[2]是實現(xiàn)語義Web的一種最佳手段,通過使用URI和RDF在語義Web中發(fā)布、共享、連接各類信息數(shù)據(jù),從而使整個Web成為一個通用的信息交換媒介,同時,RDF及其模式RDFS(稱為RDF(S))在語義Web中處于核心地位,是實現(xiàn)Web信息共享和數(shù)據(jù)交換的基礎(chǔ)。由于各個領(lǐng)域的數(shù)據(jù)大部分都被存儲在關(guān)系數(shù)據(jù)庫(Relational Database,簡稱RDB)中,并且RDF(S)比RDB有更多的語義性、共享性和推理性[3],因此,如何將這些關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成RDF(S)模型中的數(shù)據(jù)是需要解決的一個重要問題。
分析關(guān)系模型與RDF(S)模型的組成,提出了關(guān)系模型向RDF(S)轉(zhuǎn)換的形式化定義及轉(zhuǎn)換規(guī)則。由于語義Web的發(fā)展,特別是關(guān)聯(lián)數(shù)據(jù)運動的推動,出現(xiàn)了大量開源軟件都可以使關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換為具有語義能力的RDF(S)數(shù)據(jù),特別是:D2RQ、Ontop、Virtuoso、Drupal等。綜合比較,選取了D2RQ和Ontop兩個發(fā)布工具,從關(guān)系模型映射為RDF(S)模型和SPARQL查詢的角度進行實驗對比,發(fā)現(xiàn)這兩個工具均能按映射規(guī)則完成關(guān)系模型向RDF(S)模型的轉(zhuǎn)換,并且在SPARQL查詢上Ontop性能更優(yōu)。
1.1 RDF(S)簡介
在Web應(yīng)用環(huán)境中,各個領(lǐng)域都有大量的分布信息資源,即使在一個領(lǐng)域內(nèi)部,這些數(shù)據(jù)信息也是相對獨立地構(gòu)建的,它們?nèi)狈y(tǒng)一的語義描述,導致無法快速精準的查詢。通過對這些數(shù)據(jù)賦予形式化理解的語義,可以提高信息在查詢當中的準確性。
W3C為萬維網(wǎng)提出了一種元數(shù)據(jù)模型RDF(Resource Description Framework)及RDF模式(RDF Schema,簡稱RDFS)[4],不僅能在Web中描述任何信息,而且為這些信息賦予確定的語義。同時,通過RDFS還可以描述概念實體和實體之間的關(guān)系。總之,RDF(S)提供了領(lǐng)域及領(lǐng)域外部環(huán)境中對信息資源的一種統(tǒng)一的語義描述方式。采用RDF(S)來描述數(shù)據(jù)信息,可以為它們賦予確定的語義,從而實現(xiàn)更準確的信息獲取。
1.2 RDFS模型與RDF的關(guān)系
RDF是一種通用語言,它允許用戶使用它們自己的詞匯表來描述資源。RDF既不假設(shè)與任何特定應(yīng)用領(lǐng)域有關(guān),也不定義任何領(lǐng)域的語義[5]。為了指明語義,開發(fā)者需要通過RDFS中定義的一組基本的領(lǐng)域無關(guān)的結(jié)構(gòu)來定義其詞匯表的含義。RDFS實際上是一種輕量級的本體語言。它提供一組具有固定含義的建模元語。RDFS的核心概念包括類、子類關(guān)系、屬性、子屬性關(guān)系及定義域和值域,學生學位相關(guān)信息的RDF及RDFS模型。其中,虛線以上的實心圓圈表示屬性、空心圓圈表示類,虛線以下的方框和圓圈表示實例,如圖1所示。
圖1 RDF與RDFS模型
首先描述“事物”——圖1中的學生,以及特定的年齡age,這些在RDF中可以完成。其次描述個體對象(individual object,資源),這種情況描述的是類(class),定義了對象的類型STUDEN、PERSON和DIPLOMA。一個類可以被理解為一個元素集合。屬于一個類的個體對象為該類的實例(instance),RDF提供了一種通過使用一個特殊屬性rdf:type來定義實例和類之間的聯(lián)系方式。但很多情況下,用戶希望能夠自定義一些詞匯,然后用這些詞匯來描述資源。總的說來,RDFS就是需要定義一些類和特性,比如定義Person類來描述人,定義STUDENT類來描述學生,定義DIPLOMA特性來描述學位等。RDF本身并不能定義這些類和特性,它們需要用RDF的描述語言RDFS來定義。通過創(chuàng)建這樣的語義定義,RDFS是一種定義特定領(lǐng)域語義的語言。換句話說,RDFS是一種輕量級本體語言。
2.1 關(guān)系模型與RDF(S)模型的組成
關(guān)系模型作為源頭數(shù)據(jù)模型,RDF(S)作為轉(zhuǎn)換的目標數(shù)據(jù)模型,其中關(guān)系模型由表、字段和值組成,關(guān)系模型中,無論是實體還是實體之間的關(guān)系均由關(guān)系來表示,即二維表表示。每個表都由行和列組成,表的每一行為字段的取值,每一列為一個屬性。RDF(S)數(shù)據(jù)模型是由三元組(資源、屬性、屬性值)組成的具有層次的數(shù)據(jù)模型[6],其實質(zhì)也是一種二維關(guān)系的表達,這類似與關(guān)系模式,這是因為它們都是由實體、屬性和關(guān)系構(gòu)成,都能以二維關(guān)系來表示模型,并且它們都建立在概念和關(guān)系之上,所以兩者可以實現(xiàn)映射,并實現(xiàn)轉(zhuǎn)換。
2.2 模型的形式化定義與映射規(guī)則
下面給出關(guān)系模型與RDF(S)模型之間的對應(yīng)關(guān)系。為了方便對關(guān)系數(shù)據(jù)庫到的映射規(guī)則進行描述,本節(jié)將分別給出關(guān)系模型、RDF的形式化定義。
定義1將關(guān)系模型抽取出通用概念,并形式化為一個三元組R,定義如下:
R=
其中,T表示表(Table),其中包括實體表和關(guān)系表;F表示字段(Field),字段又有外鍵和非外鍵之分,其中外鍵用來描述兩個實體表之間的關(guān)聯(lián)關(guān)系,非外鍵屬性則用來描述實體自身的特點;V表示關(guān)系數(shù)據(jù)庫中的字段的值(Value)。
定義2將RDF(S)模型抽取出通用概念,并形式化為一個三元組S(為了區(qū)分關(guān)系模型,RDF(S)用S表示),定義如下:
S=
其中,C表示類(Class),用來描述實體;P表示屬性(Property),用來描述實體的特性及實體之間的關(guān)聯(lián)關(guān)系;I表示實例(Instance),實例作為類的個體,擁有類的屬性和屬于自己的屬性值。
依據(jù)上面定義的關(guān)系模型與RDF(S)通用概念的形式化定義,給出定義1中的元素和定義2中的元素具體的映射定義。
定義3對于集合R中的元素ri與集合S中的元素sj相對應(yīng),用符號記為:f(ri)→sj,其中f表示轉(zhuǎn)換規(guī)則。
下面根據(jù)定義3,給出關(guān)系模型向RDF(S)映射的形式化描述:
定義4(表(Table)映射)定義1的R中表映射成定義2的S中的類,映射過程如下:
?Tablei∈R;f(Tablei)→Classj; Classj∈S
其中,Tablei表示RDB中的表,Classj表示RDF(S)中的類。
定義5(字段(Field)映射)定義1的R中字段映射成定義2的S中的屬性,映射過程如下:
?Fieldi∈R;f(Fieldi)→Propertyj;
Propertyj∈S
其中,F(xiàn)ieldi表示RDB中的字段,Propertyj表示RDF(S)中的屬性。
定義6(元組(Value)映射)定義1的R中值映射成定義2的S中的實例,映射過程如下:
?Valuei∈R;f(Valuei)→Instancej; Instancej∈S
其中,Valuei表示RDB中所有字段的一組取值,Instancej表示RDF(S)中的實例。
兩者之間的這種形式化對應(yīng)關(guān)系使得從關(guān)系數(shù)據(jù)庫到數(shù)據(jù)模型在概念層次上的映射成為可能。根據(jù)數(shù)據(jù)模型與RDF(S)之間基本要素的對應(yīng)關(guān)系,可制定如下的基本映射規(guī)則:
一個表(Table)Ri映射為一個概念(Class)Ci;關(guān)系Ri的每一個字段(Field)Ai(包括外鍵)映射為一個屬性(Property)Pi;關(guān)系Ri的每一個元組映射為一個實例。
目前,主流的關(guān)系數(shù)據(jù)庫發(fā)布工具數(shù)量很多,這些工具可以很容易的將關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布為關(guān)聯(lián)數(shù)據(jù),通過把關(guān)系數(shù)據(jù)庫的數(shù)據(jù)按照一定的映射規(guī)則轉(zhuǎn)換為RDF(S),然后用發(fā)布工具進行發(fā)布[7-8]。一些工具也提供SPARQL查詢RDF數(shù)據(jù)并支持RDF數(shù)據(jù)發(fā)布。這些工具將發(fā)布動態(tài)大型實時數(shù)據(jù)庫并映射為RDF(S),并且避免將數(shù)據(jù)復制到一個專用的RDF三元組存儲器中。如何有效的選取發(fā)布工具,在這里給出了對這些工具的綜合對比與分析。
(1)D2RQ
D2RQ是一個開源的用于訪問關(guān)系數(shù)據(jù)庫作為虛擬RDF圖的工具[9],由德國的柏林自由大學研發(fā)。D2RQ可將關(guān)系型數(shù)據(jù)庫中的內(nèi)容快速發(fā)布為關(guān)聯(lián)數(shù)據(jù),并提供一個通用機制可將關(guān)系數(shù)據(jù)庫的表和列進行映射。D2RQ發(fā)布工具包括三部分:D2R服務(wù)器(D2R Server),D2R引擎(D2RQ Engine)和D2RQ映射語言(D2RQ Mapping)。
D2R Server以RDF視圖的形式查詢和訪問關(guān)系數(shù)據(jù)庫中的數(shù)據(jù),使RDF和HTML瀏覽器可以瀏覽數(shù)據(jù)庫中的內(nèi)容,并允許使用SPARQL查詢語言查詢數(shù)據(jù),D2R Server是D2RQ工具中重要的一部分。D2RQ Engine的功能是使用可定制的D2RQ Mapping文件,將關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成虛擬的RDF圖,它其實并沒有真正的把關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換為RDF數(shù)據(jù),而是在訪問關(guān)系數(shù)據(jù)庫時將RDF的查詢語言SPARQL轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫的查詢語言SQL,最后將SQL查詢結(jié)果轉(zhuǎn)換為RDF三元組或SPARQL查詢結(jié)果[10]。D2RQ Mapping是用來描述本體和關(guān)系數(shù)據(jù)模型之間關(guān)系的一種語義映射規(guī)則。
(2)OnTOP
Ontop是Apache公司許可下的開源OBDA框架,由意大利波爾扎諾自由大學KRDB研究組設(shè)計開發(fā),2010年發(fā)布了第一個版本ontop-1.15,到目前為止已經(jīng)到ontop-1.18.0版本①。類似于D2RQ,Ontop是用于訪問關(guān)系數(shù)據(jù)庫中數(shù)據(jù)作為虛擬RDF圖的工具。Ontop的核心是SPARQL搜索引擎,支持RDFS和OWL 2 QL機制,通過重寫SPARQL查詢語言的虛擬RDF圖轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫的SQL查詢,生成有效的SQL查詢,非常接近數(shù)據(jù)庫專家編寫的SQL查詢。
(3)Virtuoso Universal Server
Virtuoso Universal Server[11](簡稱Virtuoso)是企業(yè)級的多模型數(shù)據(jù)服務(wù)器,由Openlink公司開發(fā),提供了更多的一體化解決方案:數(shù)據(jù)管理、數(shù)據(jù)訪問和數(shù)據(jù)集成等。作為一個相對成熟的語義數(shù)據(jù)庫,其支持關(guān)聯(lián)數(shù)據(jù)的發(fā)布及應(yīng)用,既能組織數(shù)據(jù)也能將數(shù)據(jù)進行發(fā)布。作為一個高性能的對象關(guān)系數(shù)據(jù)庫服務(wù)器,Virtuoso也提供SQL編譯器,強大的存儲能力,支持當前主流數(shù)據(jù)訪問接口(如ODBC,JDBC,ADO.NET和OLE/DB)。Virtuoso另外一個重要的特性是可充當關(guān)聯(lián)數(shù)據(jù)服務(wù)器,支持使用SPARQL語言進行RDF數(shù)據(jù)的高效查詢,也可對關(guān)聯(lián)數(shù)據(jù)進行分布瀏覽和導航[12]。DBpedia知識庫的SPARQL端點,就是由Virtuoso提供的。Virtuoso不是免費的,但也有一個開源版本,只是其中不包括虛擬數(shù)據(jù)庫引擎和數(shù)據(jù)復制功能,目前Virtuoso的最新版本為7.x②。
(4)Drupal
Drupal③是由Dries Buytaert創(chuàng)建,使用PHP語言編寫的開源內(nèi)容管理框架(CMF),它由內(nèi)容管理系統(tǒng)(CMS)和PHP開發(fā)框架共同構(gòu)成[13]。Drupal對關(guān)聯(lián)數(shù)據(jù)的支持主要涵蓋模塊化的設(shè)計思想,由于其各種功能均以模塊化的形式設(shè)計開發(fā),并以插件形式來管理。主要提供:(1)RDF、ARC2模塊:將內(nèi)容進行RDF的轉(zhuǎn)換;(2)RDF CCK、evoc模塊:將內(nèi)容模型向領(lǐng)域本體轉(zhuǎn)換;(4)RDF Proxy模塊:可從其它站點自動抓取關(guān)聯(lián)數(shù)據(jù);(3)RDF SPARQL Endpoint模塊:為RDF提供查詢接口[14]。截至目前,Drupal更新模塊超過31000個,很多著名政府機構(gòu)、高等學府、技術(shù)社區(qū)、商業(yè)公司等都采用Drupal進行網(wǎng)站搭建,如表1所示。
通過表1對比可見,這些工具都可將關(guān)系數(shù)據(jù)庫中的內(nèi)容轉(zhuǎn)換成RDF(S)數(shù)據(jù)格式,并且大部分支持SPARQL查詢數(shù)據(jù)。但有些發(fā)布工具還是有一些局限性,如Virtuoso Universal Server目前只提供Linux的開源版本、Triplify不支持SPARQL訪問與查詢、OAI2lod Server無法支持多個數(shù)據(jù)集同時查詢、Drupal依賴于自身的內(nèi)容模型。對比發(fā)現(xiàn)D2RQ和Ontop有明顯的優(yōu)勢,它們支持任何關(guān)系數(shù)據(jù)庫的數(shù)據(jù)轉(zhuǎn)換、通用性強,支持靈活的映射配置文件,并提供一個標準的轉(zhuǎn)換方式生成一個虛擬的RDF(S),確保數(shù)據(jù)庫的內(nèi)容更新便捷,所以下節(jié)選取D2RQ、Ontop進行實驗對比。
D2RQ和Ontop,都能將關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換為RDF(S),并發(fā)布為關(guān)聯(lián)數(shù)據(jù),這兩個工具在映射方面不僅快捷,而且都帶有SPARQL查詢端點,本節(jié)從映射方式和SPARQL查詢方面進行分析對比。
實驗選用MySql數(shù)據(jù)庫作為數(shù)據(jù)源,樣本數(shù)據(jù)集包含了582087條(相當于超過200萬三元組)關(guān)于醫(yī)療的文獻記錄,實現(xiàn)從數(shù)據(jù)庫中的數(shù)據(jù)到RDF(S)的語義自動映射。具體實施步驟分為兩大部分:第一部分是映射,即將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)按照轉(zhuǎn)換規(guī)則轉(zhuǎn)換為虛擬RDF圖數(shù)據(jù);第二步是建立SPARQL端點訪問RDF(S)。
表1 關(guān)聯(lián)數(shù)據(jù)發(fā)布工具比較
4.1 D2RQ
(1)映射
D2RQ映射語言是D2RQ工具的一個重要組成部分,它作為一種陳述性語言,用于映射關(guān)系數(shù)據(jù)庫模式和RDF或OWL本體模式。將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)轉(zhuǎn)換為虛擬的RDF(S)數(shù)據(jù)進行訪問,分為兩個步驟,第一步是自動生成Mapping文件,第二步是使用可定制的Mapping文件對關(guān)系型數(shù)據(jù)進行轉(zhuǎn)換與訪問[15]。運用映射語言編寫的映射文件是D2R實現(xiàn)語義模式映射的核心,語義模式映射機制,如圖2所示。
圖2 D2R的語義模式映射機制
生成映射文件工具創(chuàng)建一個默認的D2RQ Mapping語言的映射文件,映射文件命名為mapping_file.ttl,訪問本地數(shù)據(jù)庫,用戶認證命名為root kmbase_rdf,密碼為空。從下面的命令行運行生成映射后,映射文件內(nèi)容,如圖3所示。
通過分析現(xiàn)有數(shù)據(jù)庫的關(guān)系。D2R提供了生成Mapping文件的執(zhí)行腳本,也可自己定制映射文件,實驗涵蓋了所有的映射規(guī)則,目的是能夠?qū)Φ?節(jié)提出的關(guān)系模式向RDF(S)映射的規(guī)則進行驗證。通過運行該系統(tǒng),可以自動生成RDF和RDFS兩個文件,文檔中存放著目標RDF(S)本體中的類、屬性及實例。
圖3 D2RQ映射文件的內(nèi)容
(2)SPARQL查詢
SPARQL(SPARQL Protocol and RDF Query Language)[16]是由W3C定義的RDF數(shù)據(jù)查詢訪問協(xié)議,它允許應(yīng)用程序查詢復雜的分布式RDF數(shù)據(jù)庫。SPARQL可進行跨數(shù)據(jù)源的數(shù)據(jù)查詢,既可以查詢本地的RDF數(shù)據(jù),也可以通過中間件表示成RDF圖。在D2RQ工具中,D2R Server服務(wù)器使用可定制的D2RQ映射文件把關(guān)系數(shù)據(jù)庫中的內(nèi)容轉(zhuǎn)換為RDF,然后可以通過SPARQL查詢端點瀏覽和查詢RDF。D2R服務(wù)器中的SPARQL查詢端點,可以查詢關(guān)系數(shù)據(jù)庫里的數(shù)據(jù),如圖4所示。
對于簡單的查詢模式,服務(wù)器執(zhí)行的很順利,但是,當SPARQL進行特殊查詢(如:OPTIONAL,F(xiàn)ILTER,和LIMIT)時,就顯示了GC使用超過限制的提示,如圖5所示查詢失敗。
圖4 D2RQ下簡單的SPARQL查詢模式
圖5 SPARQL的特殊查詢FILTER和LIMIT受限
這是因為如果查詢數(shù)據(jù)量過大,服務(wù)器就會避免內(nèi)存過小造成應(yīng)用不能正常工作所出現(xiàn)的一種保護機制。
4.2 OnTop
(1)映射
Ontop既支持本地Ontop映射語言也支持R2RML[17]。OntopPro是Ontop的一個組成部分,為Protégé 4和Protégé 5提供了一個映射編輯器的平臺。OntopPro為本體和數(shù)據(jù)庫創(chuàng)建映射,并制定SPARQL和SQL查詢。從關(guān)系數(shù)據(jù)庫映射到本地Ontop映射語言,OntopPro既可以在Protégé平臺的映射編輯器中手動創(chuàng)建映射文件,編寫映射規(guī)則,也可以利用Ontop Bootstrap自動生成映射文件。之后在Protégé平臺中保存本體,兩個文件將保存在硬盤中,一個是映射的OBDA文件,一個是本體的OWL文件。
在Protégé環(huán)境下手工創(chuàng)建映射文件,這里寫入轉(zhuǎn)換的映射規(guī)則。然后利用OntopPro運行,接著連接同一個MYSQL數(shù)據(jù)庫進行驗證,用戶名為root,密碼為空,最后完成所有需要的映射后得到映射文件,如圖6所示。
(2)SPARQL查詢
Ontop增加了一個Sesame OpenRDF平臺,這是一個用于管理Sesame庫的web應(yīng)用程序,創(chuàng)建和管理庫,可以用來作為標準的SPARQL端點。在Sesame工作臺建立Ontop repository,需要提供兩個文件到服務(wù)器:一個是OBDA文件,一個是OWL文件。Repository是查詢關(guān)系數(shù)據(jù)庫的SPARQL端點,可通過服務(wù)器上的查詢菜單來查詢數(shù)據(jù)庫中的內(nèi)容。Ontop能夠高效的執(zhí)行SPARQL的特殊查詢。在Ontop平臺中高級的SPARQL查詢模式及查詢結(jié)果,如圖7和圖8所展示。
圖6 Ontop映射文件內(nèi)容
圖7 Ontop的SPARQL端點中高級SPARQL查詢模式
圖8 高級SPARQL查詢模式的查詢結(jié)果
萬維網(wǎng)快速發(fā)展使得它很快成為一個龐大的知識庫,但同時也帶來了很多問題,語義網(wǎng)的誕生解決了這些問題。而要實現(xiàn)語義網(wǎng),即文檔網(wǎng)絡(luò)向數(shù)據(jù)網(wǎng)絡(luò)的轉(zhuǎn)變,最重要的是要構(gòu)建豐富的本體,是信息賦有豐富的語義性,而關(guān)系數(shù)據(jù)庫中存儲著支撐萬維網(wǎng)的大部分數(shù)據(jù),同時,RDF(S)作為一種輕量級本體被廣泛應(yīng)用于各個領(lǐng)域。因此,提出了關(guān)系模型向RDF(S)模型的轉(zhuǎn)換。主要研究了如何將關(guān)系數(shù)據(jù)庫映射為RDF(S),具體給出了形式化的定義,分析了兩者形式化對應(yīng)關(guān)系,并針對提出的語義信息設(shè)計了從關(guān)系數(shù)據(jù)庫到RDF(S)的映射規(guī)則,且例舉D2RQ和Ontop發(fā)布工具,并錄入實驗數(shù)據(jù),驗證了映射方法并用RDF的查詢語言SPARQL進行查詢,對比發(fā)現(xiàn)這兩種工具都可以很好的按照轉(zhuǎn)換規(guī)則把關(guān)系模型向RDF(S)轉(zhuǎn)換,但是Ontop在SPARQL特殊查詢時效率更高。
[1] Berners-Lee T,Hendler J,Lassila O.The Semantic Web[J].Acientific American,2001,284(5):34-43.
[2] Bizer C,Cyganiak R, Heath T.How to Publish Linked Data on the Web[EB/OL].[2012-10-10].http://www4.wiwiss.fu-berlin.de/bizer/pub/Linked Data Tutorial/relationaldata.
[3] 夏翠娟,金家琴.從關(guān)系數(shù)據(jù)庫到關(guān)聯(lián)數(shù)據(jù):W3C標準應(yīng)用探析[J].圖書館雜志,2015(5):85-94.
[4] 佟強.數(shù)據(jù)庫支持的RDF(S)構(gòu)建與存儲方法研究[D].遼寧:東北大學,2015.
[5] RDF 1.1 Concepts and Abstract Syntax.Editors:Graham Klyne,Jeremy JCarroll,Brian McBride[R/OL].(2014-02-25).http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/.2017.
[6] 佟強,張富程,經(jīng)緯等.RDF在關(guān)系數(shù)據(jù)庫中的存儲研究[J].東北大學學報(自然科學版),2015(3):346-349.
[7] 劉振,張智雄.RDB-to-RDF的技術(shù)方法和工具綜述[J].現(xiàn)代圖書情報技術(shù),2014(11):17-23.
[8] 夏翠娟.RDB2RDF標準及應(yīng)用研究[J].現(xiàn)代圖書情報技術(shù),2013(4):13-17.
[9] 白海燕,梁冰.利用D2R實現(xiàn)關(guān)系數(shù)據(jù)庫與關(guān)聯(lián)數(shù)據(jù)的語義模式映射[J].現(xiàn)代圖書情報技術(shù),2011(Z1):1-7.
[10] 唐艷春.D2R在圖書館書目數(shù)據(jù)關(guān)聯(lián)服務(wù)中的應(yīng)用分析[J].圖書情報工作,2014(14):132-138.
[11] 鄒益民,張智雄,錢力等.語義倉儲Virtuoso的技術(shù)分析和應(yīng)用[J].圖書情報工作,2012(23):97-102.
[12] 濮德敏,任瑞娟,米佳等.關(guān)系型本體轉(zhuǎn)換為關(guān)聯(lián)數(shù)據(jù)技術(shù)方案比較研究[J].圖書館理論與實踐,2014(12):30-34.
[13] 任瑞娟,濮德敏,王劍宏等.基于Drupal實現(xiàn)多類型學術(shù)資源的語義化組織與關(guān)聯(lián)化聚合[J].情報科學,2015(5):63-67.
[14] Melan B.RDF's long lineage in Drupal[OL].[2011-06-02].http://data.agaric.com/node/2642.
[15] 沈志宏,劉筱敏,郭學兵等.關(guān)聯(lián)數(shù)據(jù)發(fā)布流程與關(guān)鍵問題研究——以科技文獻、科學數(shù)據(jù)發(fā)布為例[J].中國圖書館學報,2013(2):53-62.
[16] 杜方,陳躍國,杜小勇.RDF數(shù)據(jù)查詢處理技術(shù)綜述[J].軟件學報,2013(6):1222-1242.
[17] 陶俊,孫坦,劉錚.關(guān)聯(lián)數(shù)據(jù)映射語言:R2R[J].中國圖書館學報,2012(3):100-109.
ResearchontheTransformationfromRelationalModeltoRDF(S)Model
Yang Wangli,Zheng Xueyun,Yuan Man
(College of Computer and Information Technologies, Northeast Petroleum University, Daqing 163318, China)
TG409
A
2017.06.21)
黑龍江省基金項目(12531059)
楊王黎(1966-),女,碩士,教授,研究方向:計算機教育、數(shù)據(jù)挖掘。 鄭雪蕓(1992-),女,碩士研究生,研究方向:語義Web,關(guān)聯(lián)數(shù)據(jù)。 袁 滿(1965-),男,教授,研究方向:信息與集成技術(shù)、標準化技術(shù)、語義Web、數(shù)據(jù)質(zhì)量、知識工程以及分布式計算。
1007-757X(2017)09-0003-06