●金 燕,江閃閃(鄭州大學(xué) 信息管理系,鄭州 450001)
關(guān)聯(lián)數(shù)據(jù)這一概念是由“互聯(lián)網(wǎng)之父”Tim Berners-Lee在2006年首次提出的。在分析web發(fā)展和演化過程的基礎(chǔ)上,Tim Berners-Lee提出了當(dāng)前web環(huán)境下急需發(fā)展數(shù)據(jù)web的思想,數(shù)據(jù)web的核心和關(guān)鍵就是關(guān)聯(lián)數(shù)據(jù)。下表展現(xiàn)了數(shù)據(jù)web與傳統(tǒng)web的不同。
表 傳統(tǒng)Web與數(shù)據(jù)Web的比較
關(guān)于關(guān)聯(lián)數(shù)據(jù)的概念,維基百科給出的定義是:關(guān)聯(lián)數(shù)據(jù)是語義網(wǎng)的主題之一,描述了通過可鏈接的URI方式來發(fā)布、分享、連接Web中各類資源的方法。[1]
關(guān)聯(lián)數(shù)據(jù)通過web將一切web上沒有關(guān)聯(lián)的相關(guān)數(shù)據(jù)連接起來,并且可以直接訪問數(shù)據(jù),是一種簡單的語義網(wǎng)實(shí)現(xiàn)技術(shù),已經(jīng)成為推動語義網(wǎng)發(fā)展的重要力量之一,在提出之后得到了社會的廣泛關(guān)注和認(rèn)可。其意義體現(xiàn)在:① 采用訪問web信息資源的URI和RDF統(tǒng)一標(biāo)準(zhǔn),將現(xiàn)實(shí)世界全面映射到網(wǎng)絡(luò)世界,為不同數(shù)據(jù)資源的整合和集成提供了穩(wěn)定可靠的機(jī)制,揭示了web資源整合的本質(zhì)。② 一種Web上的富鏈接機(jī)制將超文本鏈接轉(zhuǎn)變?yōu)槌瑪?shù)據(jù)鏈接,為web提供開放數(shù)據(jù)的存取和鏈接機(jī)制。③ 通過數(shù)據(jù)萬維網(wǎng)的超鏈接和語義標(biāo)注可以發(fā)現(xiàn)更多與之相關(guān)的數(shù)據(jù)。
關(guān)聯(lián)數(shù)據(jù)的四原則是Tim Berners-Lee在《關(guān)聯(lián)數(shù)據(jù)的設(shè)計(jì)問題》中針對關(guān)聯(lián)數(shù)據(jù)的構(gòu)建和實(shí)現(xiàn)提出的,這四個原則是:[2]
(1)使用URI作為任何對象的標(biāo)識名稱,即用戶可以將web上的任何資源用URI進(jìn)行標(biāo)識;
(2)使用HTTPURI使人們可以找到對象的標(biāo)識名稱,即用戶在萬維網(wǎng)上可以通過HTTP協(xié)議連接URI從而找到標(biāo)識的對象;
(3)訪問HTTPURI中的某個標(biāo)識名稱時(shí),可以根據(jù)訪問標(biāo)識的URI發(fā)現(xiàn)有意義的信息(采用RDF,SPARQL標(biāo)準(zhǔn)),即用戶可以通過訪問HTTPURI找到有價(jià)值的信息,提高信息的利用率;
(4)提供相關(guān)的URI鏈接,以便查詢者可以發(fā)現(xiàn)更多的對象,即用戶通過互聯(lián)可以發(fā)現(xiàn)更多的信息。
這四個基本原則中,最重要的是利用RDF數(shù)據(jù)模型建立結(jié)構(gòu)化數(shù)據(jù)并發(fā)布到網(wǎng)絡(luò)上,再鏈接到不同數(shù)據(jù)庫以便建立關(guān)聯(lián)。RDF對資源的表達(dá)是通過一系列的三元組來實(shí)現(xiàn)。每個三元組由主語、謂語和對象三個部分組成,主語是URI所標(biāo)識的資源,對象可以是一個字符串,如字母、日期格式的字符值、數(shù)字等,也可以是一個一定程度上與主語有關(guān)的其他資源的URI,即RDF鏈接(RDFLink);謂語表明了主語和對象之間的關(guān)系,也可以是URI,比如來自某一詞表或URI集合。[3]關(guān)聯(lián)數(shù)據(jù)的三元組都應(yīng)該盡可能以URI來表達(dá),以RDF來編碼。由此可以通過RDF數(shù)據(jù)模型把web上存在的大量非結(jié)構(gòu)化數(shù)據(jù)和采用不同標(biāo)準(zhǔn)的結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換成遵循統(tǒng)一標(biāo)準(zhǔn)的結(jié)構(gòu)化數(shù)據(jù)。
關(guān)聯(lián)數(shù)據(jù)的基本概念和四個基本原則揭示了關(guān)聯(lián)數(shù)據(jù)的核心理念,可以簡單高效地實(shí)現(xiàn)關(guān)聯(lián)數(shù)據(jù)的發(fā)布。
(1)沒有數(shù)據(jù)類型的限制,在web上發(fā)布關(guān)聯(lián)數(shù)據(jù)只需將發(fā)布數(shù)據(jù)轉(zhuǎn)化為統(tǒng)一結(jié)構(gòu)化的RDF三元組,包括統(tǒng)一命名,統(tǒng)一內(nèi)容描述機(jī)制即可。
(2)利用RDF鏈接同一數(shù)據(jù)資源內(nèi)的各數(shù)據(jù)項(xiàng)和不同數(shù)據(jù)資源,建立內(nèi)容關(guān)聯(lián)機(jī)制,包括關(guān)聯(lián)解析、檢索和調(diào)用機(jī)制,發(fā)現(xiàn)更多數(shù)據(jù)對象。
(3)依據(jù)關(guān)聯(lián)數(shù)據(jù)四原則發(fā)布關(guān)聯(lián)數(shù)據(jù),可以構(gòu)建一個發(fā)布數(shù)據(jù)的標(biāo)準(zhǔn),網(wǎng)絡(luò)中的任何對象通過這個數(shù)據(jù)標(biāo)準(zhǔn)構(gòu)建,然后將數(shù)據(jù)關(guān)聯(lián)起來,通過URI發(fā)布在萬維網(wǎng)上,既可通過傳統(tǒng)的信息發(fā)現(xiàn)方式發(fā)現(xiàn)相關(guān)關(guān)聯(lián)數(shù)據(jù),也可根據(jù)關(guān)聯(lián)數(shù)據(jù)中的URI來發(fā)現(xiàn)新的關(guān)聯(lián)數(shù)據(jù)。這可以減少互聯(lián)網(wǎng)上的冗余數(shù)據(jù),使數(shù)據(jù)得到最大化的使用,從而使互聯(lián)網(wǎng)信息服務(wù)的效率更高。
依據(jù)四原則發(fā)布關(guān)聯(lián)數(shù)據(jù),最主要的是將信息資源用資源描述框架RDF表示出來。RDF一方面提供了一個極其簡單的數(shù)據(jù)模型,另一方面數(shù)據(jù)量的大小、數(shù)據(jù)的更新頻率和存儲方式很適合Web的結(jié)構(gòu)。[4]
3.1.1 用URI對web上所要發(fā)布的數(shù)據(jù)進(jìn)行標(biāo)識
(1)用RDF 描述待發(fā)布的數(shù)據(jù),并將各個實(shí)體對象間的關(guān)系用RDF 圖的形式表示出來。描述要發(fā)布的數(shù)據(jù)時(shí)先要統(tǒng)一詞匯。這些詞匯通??梢詮腤eb 中一些公認(rèn)的詞匯集中選擇,如朋友的朋友(FOAF),都柏林核心詞匯集(DC); RDFs 核心詞匯集(RDFSchema);簡單知識組織系統(tǒng)(SKOS);在線語義關(guān)聯(lián)社區(qū)(SIOC);項(xiàng)目描述(DOAP);描述藝術(shù)家、影集和軌跡的詞匯的音樂本體;表示復(fù)審的詞匯表;描述授權(quán)條款的詞匯創(chuàng)作共用(CC)[5] 等。根據(jù)RDF 圖建立RDF 數(shù)據(jù)模型時(shí),RDF 圖要反映出三元組之間的聯(lián)系
(2)將RDF 圖轉(zhuǎn)換成數(shù)據(jù)頁這個環(huán)節(jié)可以借助D2RQ 平臺技術(shù)實(shí)現(xiàn),該平臺由映射語言、D2R 引擎和D2R 服務(wù)器組成。[6]先通過D2RQ 映射語言,支持關(guān)系型數(shù)據(jù)庫到RDF 數(shù)據(jù)轉(zhuǎn)換規(guī)則的編寫,通過該語言,用戶可以定義如何將關(guān)系型數(shù)據(jù)庫中的表、列、行、列值、外鍵值映射成RDF 數(shù)據(jù)中的類、屬性、資源、文本、RDF 鏈接。然后通過D2R 引擎將用戶輸入的SPARQL 轉(zhuǎn)換成SQL,提交給關(guān)系型數(shù)據(jù)庫管理系統(tǒng),并將SQL 查詢結(jié)果封裝成RDF 三元組最后,D2R 服務(wù)器在D2R 引擎之上提供Web 界面,使瀏覽器端的用戶可以查看數(shù)據(jù)頁。在轉(zhuǎn)換數(shù)據(jù)項(xiàng)時(shí),要考慮訪問數(shù)據(jù)的時(shí)間、數(shù)據(jù)更新的難易和用戶的需求等。一般來說,RDF 文件過大會影響到用戶打開時(shí)的數(shù)據(jù)緩存速度。當(dāng)要發(fā)布的文件較大或者描述的是多個數(shù)據(jù)時(shí),應(yīng)當(dāng)將其拆分成幾個RDF 文件,以塊的形式發(fā)布。既可以將整個RDF 圖作為一個數(shù)據(jù)頁發(fā)布,也可以將每個實(shí)體描述項(xiàng)作為一個數(shù)據(jù)頁,還可以把若干實(shí)體的描述項(xiàng)作為一個數(shù)據(jù)頁。
(3)用URI 進(jìn)行標(biāo)識,為每個數(shù)據(jù)頁指定URI。數(shù)據(jù)頁映射后的RDF 是用XML 表達(dá)的三元組。RDF模型中數(shù)據(jù)是以URI 引用來命名的,上傳到web 后,可以為每個數(shù)據(jù)項(xiàng)指定URI。URI 是web 上訪問數(shù)據(jù)的標(biāo)識,任何事物都可以有一個唯一的URI 引用。一方面,選取的URI 必須有著規(guī)范的名字,其他發(fā)布者就可以很信任的在自己的數(shù)據(jù)庫中鏈接相關(guān)資源,另一方面,必須把技術(shù)基礎(chǔ)設(shè)施做到位。選擇URI 時(shí)需要盡可能的使用HTTP URI 來標(biāo)識對象,可以受限于技術(shù)環(huán)境。通常使用三個URI 即一個資源標(biāo)識符、一個適合HTML 瀏覽器的信息資源標(biāo)識符(用一個網(wǎng)頁表示)、一個適合RDF 瀏覽器的信息資源標(biāo)識符(用RDF 或XML 來表示) 來標(biāo)記非結(jié)構(gòu)化信息資源。
3.1.2 為每個數(shù)據(jù)頁指定URI 后需要將數(shù)據(jù)頁在web 上表示出來,這個環(huán)節(jié)需使用HTTP 機(jī)制,其中,對于HTML 瀏覽器來說通常是將RDF 表示的形式作為RDF原代碼,或者是將其作為RDF 文件下載下來而不直接顯示出來。另外,上傳的數(shù)據(jù)頁除了要有RDF 表示形式外,還應(yīng)有一個合適的HTML 表示形式,有助于理解URI 所指的是什么。
3.1.3 根據(jù)HTTPURI中的某個標(biāo)識名稱發(fā)現(xiàn)可以鏈接的數(shù)據(jù)
RDF 數(shù)據(jù)模型的主體是RDF 三元組。通過訪問HTTP URI,可以發(fā)現(xiàn)三元組中主語、謂語和對象的標(biāo)識名稱。無論要描述的對象是結(jié)構(gòu)化數(shù)據(jù)還是非結(jié)構(gòu)化數(shù)據(jù),都可以在RDF 描述的URI 中添加元數(shù)據(jù)。如為了讓用戶合法地使用數(shù)據(jù),每一個RDF 文件都應(yīng)包含一個許可其內(nèi)容可以使用的證書,可以添加諸如dc: date、dc: publisher、dc: license、foaf: topic 等元數(shù)據(jù)描述數(shù)據(jù)項(xiàng)。這樣,就可以根據(jù)HTTP URI 中的某個標(biāo)識名稱發(fā)現(xiàn)新的數(shù)據(jù)。
3.1.4 提供相關(guān)的URI鏈接,以便用戶發(fā)現(xiàn)更多的數(shù)據(jù)對象
提供相關(guān)的URI 鏈接是通過添加RDF 鏈接實(shí)現(xiàn)的。數(shù)據(jù)web 和傳統(tǒng)web 有一點(diǎn)不同就是傳統(tǒng)的web鏈接對象是html 文檔,數(shù)據(jù)web 所關(guān)聯(lián)的是數(shù)據(jù)。RDF 鏈接能使不同數(shù)據(jù)發(fā)生關(guān)聯(lián),隨RDF 鏈接瀏覽整個數(shù)據(jù)web。在關(guān)聯(lián)數(shù)據(jù)客戶端RDF 的瀏覽器界面中,用戶可以通過RDF 鏈接,使查詢的數(shù)據(jù)項(xiàng)鏈接到其他RDF 鏈接。例如,所要查找的是個人信息數(shù)據(jù),通過一個查詢界面可以鏈接到web 上所有有關(guān)個人信息的數(shù)據(jù),從而可以發(fā)現(xiàn)更多潛在的數(shù)據(jù)對象。
3.2.1 Facebook簡介
Facebook 是美國的一個大學(xué)生社交網(wǎng)站,由哈佛大學(xué)的Mark Zuckerberg 等學(xué)生創(chuàng)建,是當(dāng)下互聯(lián)網(wǎng)上最大和增長速度最快的社交網(wǎng)絡(luò)平臺。目前,F(xiàn)acebook在所有以服務(wù)于大學(xué)生為主要業(yè)務(wù)的網(wǎng)站中,擁有最多的用戶,也是美國排名第一的照片分享站點(diǎn),其產(chǎn)生的數(shù)據(jù)量非常巨大。Facebook 在2011 年10 月12 日提出了支持RDF 和關(guān)聯(lián)數(shù)據(jù)的URIs ,并且將關(guān)聯(lián)數(shù)據(jù)的API 引入自己的數(shù)據(jù)庫[7]
3.2.2 基于四原則的Facebook關(guān)聯(lián)數(shù)據(jù)發(fā)布
圖1 是Facebook 的關(guān)聯(lián)數(shù)據(jù)架構(gòu)。在這個架構(gòu)中可以發(fā)現(xiàn)關(guān)聯(lián)數(shù)據(jù)的核心作用,它處于內(nèi)部數(shù)據(jù)庫處理機(jī)制和外部應(yīng)用平臺之間,當(dāng)結(jié)構(gòu)化數(shù)據(jù)經(jīng)Facebook數(shù)據(jù)庫抽取并轉(zhuǎn)化成RDF 文件之后,先存儲于Memcache 存儲器中,F(xiàn)acebook 訪問者訪問Facebook 應(yīng)用平臺時(shí),可以看到提供一個關(guān)聯(lián)數(shù)據(jù)界面的SPARQL端點(diǎn),通過此端點(diǎn)查詢Facebook 的數(shù)據(jù),而在Facebook Web 中關(guān)聯(lián)數(shù)據(jù)是通過html 瀏覽器呈現(xiàn)出來的,這個架構(gòu)明確了Facebook 發(fā)布關(guān)聯(lián)數(shù)據(jù)的過程,是基于關(guān)聯(lián)數(shù)據(jù)四原則的。
圖1 Facebook的關(guān)聯(lián)數(shù)據(jù)架構(gòu)
在此針對Facebook的Friends用戶界面詳細(xì)介紹關(guān)聯(lián)數(shù)據(jù)的發(fā)布方法。
(1)從“Friends”這一應(yīng)用內(nèi)容中的“FriendsList”頁面選取第一部分?jǐn)?shù)據(jù)進(jìn)行發(fā)布?!癋riendsList”中主要自定義了“姓名”、“網(wǎng)址”、“狀態(tài)”等字段,對這些字段用URI 進(jìn)行標(biāo)識,可以從FOAF中選擇術(shù)語先進(jìn)行RDF 描述。圖2 是“Friends List”的RDF 表示圖。然后將其轉(zhuǎn)換為數(shù)據(jù)頁,轉(zhuǎn)換時(shí)要定義“Friends List”的內(nèi)容模型與FOAF 本體之間的RDF 映射,由于命名空間的前綴默認(rèn)為“site”,由此,RDF 數(shù)據(jù)中術(shù)語的命名空間為site:http://siteurl/ns#,可以自動獲得一個http URI,一般地址默認(rèn)為http://siteurl/node/nodeno/rdf。在用戶瀏覽器端就可以看到在“Friends List”里有name,networks,status 三個節(jié)點(diǎn),表示出來就是:http://facebook.com/hadoop/name/rdf; http://facebook.com/hadoop/networks/rdf; http://facebook.com/hadoop/status/rdf。
圖2 “Friends List”的 RDF表示圖
(2)通過HTTP 協(xié)議連接“Friends”中字段的URI。用http 協(xié)議將“Friends List”的數(shù)據(jù)頁用HTML形式表現(xiàn)出來,HTML 形式的地址默認(rèn)為:http://siteurl/Friends #。當(dāng)一個節(jié)點(diǎn)創(chuàng)建后,系統(tǒng)會自動賦予一個http URI。一般默認(rèn)為:http://siteurl/node/nodeno(siteurl) 為站點(diǎn)的URL 地址, 指向Facebook 中“Friends List”的html 文檔。由于Facebook 的核心數(shù)據(jù)集在Hadoop 里,由此“Friends List”站點(diǎn)的內(nèi)容中的四個節(jié)點(diǎn)則生成一系列的URL 地址:http://facebook.com/hadoop/name facebook.com;http://facebook.com/hadoop/networks facebook.com; http://facebook.com/hadoop/statusfacebook.com。
(3)根據(jù)HTTP URI 中的其他字段發(fā)現(xiàn)可以鏈接的數(shù)據(jù)。Facebook 系統(tǒng)自動生成了每個用戶的html 文檔及其URI 和RDF 數(shù)據(jù)及其http URI,所有用戶的RDF 數(shù)據(jù)都存儲在后臺的RDF 倉儲之中,例如可以通過Name: Llia Alshanetsky 在本人的應(yīng)用中發(fā)現(xiàn)Notes、Events、Photos、video、Group 等鏈接的信息,可以添加dc: Topic 來描述這些數(shù)據(jù),從而發(fā)現(xiàn)更多關(guān)于Llia Alshanetsky 的數(shù)據(jù)
(4)提供與“Friends List”字段相關(guān)的URI 鏈接。在Facebook 中通過API 平臺提供“Friends List”字段相關(guān)的URI 鏈接。在API 平臺中有很多應(yīng)用,將里面的信息抽取并轉(zhuǎn)化封裝成RDF 文件之后存儲于存儲器中,在Facebook 中通過API 平臺上的應(yīng)用提供查詢“Friends List”字段的端點(diǎn)。同時(shí),在查詢端點(diǎn)的前面要建立一個關(guān)聯(lián)數(shù)據(jù)界面,用戶通過此界面就可以進(jìn)行多種途徑的檢索,獲得“Friends List”字段關(guān)聯(lián)數(shù)據(jù), 從而找到用戶所需要的數(shù)據(jù), 另外,F(xiàn)acebook 站點(diǎn)還建立了自己的SPAQL Endpoint 接口可向遠(yuǎn)程站點(diǎn)(REMOTE DRUPAL SITE) 其他的網(wǎng)絡(luò)社區(qū)API 提供關(guān)聯(lián)數(shù)據(jù)服務(wù),從而在整個數(shù)據(jù)web上可以查到“Friends List”字段中的關(guān)聯(lián)數(shù)據(jù),可以獲得潛在的“Friends List”信息。
(1)事先定義好站點(diǎn)內(nèi)容模型與RDF數(shù)據(jù)模型的映射,在Facebookweb上發(fā)布只要將F acebook中用戶的數(shù)據(jù)轉(zhuǎn)化為統(tǒng)一命名,統(tǒng)一內(nèi)容描述機(jī)制的RDF三元組即可。
(2)Facebook中的數(shù)據(jù)轉(zhuǎn)化為RDF數(shù)據(jù)后可以保存在專用的RDF數(shù)據(jù)庫中,與原有系統(tǒng)的關(guān)系數(shù)據(jù)庫之間在物理上彼此獨(dú)立,在邏輯上相互映射。
(3)利用產(chǎn)生的RDF去鏈接Facebook中同一用戶數(shù)據(jù)內(nèi)各種數(shù)據(jù)項(xiàng)和鏈接相關(guān)聯(lián)不同用戶的數(shù)據(jù),建立用戶數(shù)據(jù)的關(guān)聯(lián)機(jī)制(關(guān)聯(lián)解析機(jī)制、檢索機(jī)制、調(diào)用機(jī)制),為用戶數(shù)據(jù)保存提供方便。且對Facebook的數(shù)據(jù)量大小和更新頻率的影響不大。
[1]kevenlw.?dāng)?shù)據(jù)的萬維網(wǎng)[EB/OL].(2009-10-02).[2012-02-15]. http://www.kevenlw.name/archives/1185.
[2]Tim Berners-Lee.Linked Data [EB/OL].(2009-06-18). [2012-02-15].http://www.w3.org/DesignIssues/LinkedData.html.
[3]白海燕.關(guān)聯(lián)數(shù)據(jù)及DBpedia實(shí)例分析[J].現(xiàn)代圖書情報(bào)技術(shù),2010(3):33-38.
[4]Chris Bizer,etal.Howto Publishlinke ddataontheweb[EB/OL].(2010-02-22).[2012-02-15]http://www4.wiwiss.fu-berlin.de/bizer/pub/Linked Data Tutria l/.
[5]婁秀明.用關(guān)聯(lián)數(shù)據(jù)技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)知識組織系統(tǒng)的研究[D].上海:華東師范大學(xué),2010.
[6]Tom Heath,Christian Bizer.Linked Data:Evolvingthe Webintoa Global Data Space[EB/OL].[2012-02-02].http://linkeddatabook.com/editions/1.0/.
[7]維基.Facebook研究[J].中國數(shù)字電視,2007(11):72-75.