馮 帆(新鄉(xiāng)醫(yī)學(xué)院三全學(xué)院 圖書館,河南 新鄉(xiāng) 453003)
隨著網(wǎng)絡(luò)變得越來越快的發(fā)展,萬維網(wǎng)開始與我們的日常生活息息相關(guān),成為我們生活的一部分,在萬維網(wǎng)中人們越來越渴望直接獲取原始數(shù)據(jù),建立全球性信息空間,而目前未在在萬維網(wǎng)中并沒有明確提供一個(gè)范式將全球信息中的數(shù)據(jù)連接起來,直到2006關(guān)聯(lián)數(shù)據(jù)的提出給我們帶來了一線曙光使得我們建立全球性有序的信息空間成為可能。
關(guān)聯(lián)數(shù)據(jù)的概念是由Tim Berners-Lee提出的,它是一種簡單的語義網(wǎng)實(shí)現(xiàn)技術(shù),它的基本原理是利用RDF數(shù)據(jù)模型建立結(jié)構(gòu)化數(shù)據(jù)發(fā)布于網(wǎng)絡(luò)上再聯(lián)接到不同數(shù)據(jù)庫便于建立關(guān)聯(lián)。其重要價(jià)值在于通過RDF(資源描述框架)數(shù)據(jù)模型,把互聯(lián)網(wǎng)上存在的大量非結(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ù)。RDF對資源的表達(dá)是通過一系列的三元組來實(shí)習(xí)。每個(gè)三元組有主語、謂語和對象三個(gè)部分組成,構(gòu)成一個(gè)聲明。主語是URI所標(biāo)識的資源,對象可以是一個(gè)字符串,如字母、時(shí)間、數(shù)字等,也可以是一個(gè)URI是與主語有關(guān)的其他資源的標(biāo)識符,即RDF鏈接(RDF Link);謂詞表明了主語和對象之間的關(guān)系,謂詞也可以是URI,比如來自某一詞表或URI集合。關(guān)聯(lián)數(shù)據(jù)的三元組都應(yīng)該盡可能的以URI來表達(dá),以RDF來編碼。
對于關(guān)聯(lián)數(shù)據(jù)在維基百科中的定義是:關(guān)聯(lián)數(shù)據(jù)是語義網(wǎng)的主題之一,描述了通過可鏈接的URI方式來發(fā)布、分享、連接Web中各類資源的方法。 而Tim Berners-Lee 2006年在Linked Data一文中提出了管理數(shù)據(jù)的概念和關(guān)聯(lián)數(shù)據(jù)四個(gè)原則,并在2009年的TED大會上,將關(guān)聯(lián)數(shù)據(jù)進(jìn)一步闡述為:關(guān)聯(lián)數(shù)據(jù)是一箱箱數(shù)據(jù),當(dāng)通過開放標(biāo)準(zhǔn)關(guān)聯(lián)到一起時(shí),從中可以萌發(fā)出很多新事物和新應(yīng)用[1]。其中關(guān)聯(lián)數(shù)據(jù)的四個(gè)原則為:①使用URI作為網(wǎng)絡(luò)對象的名稱;②使用HTTP URI機(jī)制直接訪問對象;③當(dāng)訪問時(shí),以RDF形式提供有用信息;④盡可能多的提供相關(guān)URI鏈接,使人民發(fā)現(xiàn)更多信息。
通過以上關(guān)聯(lián)數(shù)據(jù)的基本概念和基本原則則可以概括出關(guān)聯(lián)數(shù)據(jù)的核心理念為:讓W(xué)eb代理通過簡單通用的HTTP URI規(guī)范直接訪問文檔中的“數(shù)據(jù)”。所以,在實(shí)現(xiàn)技術(shù)上關(guān)聯(lián)數(shù)據(jù)要遵循兩個(gè)基本點(diǎn):描述和鏈接。通過描述可以實(shí)現(xiàn)統(tǒng)一格式化數(shù)據(jù),使機(jī)器能自動發(fā)現(xiàn)和確認(rèn),鏈接也應(yīng)支持機(jī)器自動連接。從而發(fā)布關(guān)聯(lián)數(shù)據(jù)從技術(shù)上來說應(yīng)遵循兩條原則:第一,在萬維網(wǎng)上發(fā)布或?qū)?shù)據(jù)轉(zhuǎn)化為統(tǒng)一結(jié)構(gòu)化的RDF三元組,包括統(tǒng)一命名,統(tǒng)一內(nèi)容描述機(jī)制;第二,利用RDF鏈接同一數(shù)據(jù)源內(nèi)各數(shù)據(jù)和鏈接不同數(shù)據(jù)源,即建立內(nèi)容關(guān)聯(lián)機(jī)制,包括關(guān)聯(lián)解析機(jī)制、檢索機(jī)制、調(diào)用機(jī)制。
關(guān)聯(lián)數(shù)據(jù)是語義網(wǎng)中的一種新技術(shù),其基本原則決定了關(guān)聯(lián)數(shù)據(jù)的實(shí)現(xiàn)應(yīng)獨(dú)立于現(xiàn)有的任何具體技術(shù)和工具,只是和相關(guān)的Web標(biāo)準(zhǔn)有關(guān)。Bizer C.Cyganiak.R和Heath T[2]指出,發(fā)布關(guān)聯(lián)數(shù)據(jù)時(shí)應(yīng)需要考慮以下三個(gè)問題:數(shù)據(jù)量的大小、數(shù)據(jù)的更新頻率和數(shù)據(jù)的存儲方式。如果數(shù)據(jù)量很小(幾百條RDF或更少),可以采用靜態(tài)RDF文件,通過手工或軟件自動轉(zhuǎn)換(靜態(tài)發(fā)布);如果數(shù)據(jù)量很大,則需要將它們放入RDF庫中,并通過相應(yīng)的服務(wù)器(如Pubby等)作為關(guān)聯(lián)數(shù)據(jù)服務(wù)的前端。如果數(shù)據(jù)的更新頻率很大,需要引入更新機(jī)制或在請求數(shù)據(jù)時(shí)根據(jù)原始數(shù)據(jù)在線生產(chǎn)RDF數(shù)據(jù)。
不同形式的數(shù)據(jù)發(fā)布為關(guān)聯(lián)數(shù)據(jù)需要不同的技術(shù)工具,目前比較著名的工具有以下幾種:
(1)對于以數(shù)據(jù)庫方式存儲的數(shù)據(jù),需轉(zhuǎn)換工具將其轉(zhuǎn)換為統(tǒng)一格式RDF三元組。主要工具有D2RQ[3]平臺、Virtuoso Universal Server[4]、Triplify[5]等。
(2)D2RQ平臺由映射語言、D2R引擎和D2R服務(wù)器組成。D2RQ映射語言[6]支持從關(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ù)網(wǎng)頁。如圖1:

圖1 D2RQ平臺體系結(jié)構(gòu)[3]
(3)如果數(shù)據(jù)內(nèi)容是API或者OAI-PMH協(xié)議格式,可以利用OAI2LOD Server[7]建立一個(gè)“轉(zhuǎn)換”封裝器,封裝器將HTTP URI分配給由API提供的非信息資源,當(dāng)被參引的URI請求為Application/RDF+XML時(shí),封裝器能夠?qū)⒖蛻舳说恼埱筠D(zhuǎn)換為相應(yīng)的API,并將API請求的結(jié)果轉(zhuǎn)換為RDF格式并發(fā)送回客戶端。
(4) 如果是通用格式 Excel,CSV等, 可以使用 JPEG2RDF[8],MARC/MODS2RDF[9],Email2RDF[10]等轉(zhuǎn)換工具;也可以遠(yuǎn)程調(diào)用已有的API,如用RDF Book Mashup調(diào)用“亞馬遜 API”來獲取圖書信息。
Drupal誕生于2001年,2008年正式推出了對關(guān)聯(lián)數(shù)據(jù)的支持功能,2011年1月,Drupal7正式發(fā)布,RDF相關(guān)模塊是Drupal7的核心模塊。Drupal在互聯(lián)網(wǎng)發(fā)布關(guān)聯(lián)數(shù)據(jù)主要概括為以下兩個(gè)方面:
(1)數(shù)據(jù)RDF化Drupal發(fā)布關(guān)聯(lián)數(shù)據(jù)的前提是將自身結(jié)構(gòu)化數(shù)據(jù)的RDF化。Drupal作為一個(gè)內(nèi)容管理系統(tǒng),可管理任意不同的內(nèi)容類型,每種內(nèi)容類型都有自己的結(jié)構(gòu)化數(shù)據(jù)。在Drupal中,基于某個(gè)內(nèi)容類型創(chuàng)建的實(shí)例叫做節(jié)點(diǎn),例如,博客在Drupal中作為一種內(nèi)容類型,博客的標(biāo)題是這個(gè)內(nèi)容類型的一個(gè)字段,某作者寫的一篇博文就是一個(gè)節(jié)點(diǎn)。Drupal將內(nèi)容類型、字段、節(jié)點(diǎn)分別映射到RDF三元組模型中的 “類”、“屬性” 和 “對象”:”site:blog a rdfs:class;tdfs:label“blog””;”site:Title rdf:Property;rdfs;label“Title””。 當(dāng)定義好站點(diǎn)的內(nèi)容模型后,系統(tǒng)會自動生成基于RDFS的本地詞匯表,命名空間的前綴默認(rèn)為“site”,地址默認(rèn)為http://siteurl/ns#,當(dāng)一個(gè)節(jié)點(diǎn)創(chuàng)建后,系統(tǒng)會自動賦予一個(gè)http URI,一般默認(rèn)為:http://siteurl/node/nodeno(siteurl為站點(diǎn)的URL地址,nodeno為系統(tǒng)按內(nèi)容節(jié)點(diǎn)創(chuàng)建時(shí)間順序自動生成的流水號),指向該博文的html文檔。同時(shí),系統(tǒng)工業(yè)會自動生成該博文的RDF數(shù)據(jù),RDF數(shù)據(jù)中術(shù)語的命名空間為“site:http://siteurl/ns#”,RDF數(shù)據(jù)也自動獲得一個(gè)http URI,一般默認(rèn)為“http://siteurl/node/nodeno/rdf”, Drupal利用 Apache訪問 http://siteurl/node/nodeno/rdf,可返回RDF數(shù)據(jù),并且人工可以瀏覽RDF數(shù)據(jù)的全貌。Drupal通過這樣的機(jī)制將站點(diǎn)所有內(nèi)容那個(gè)自動轉(zhuǎn)換為基于RDF數(shù)據(jù)模型的語義數(shù)據(jù),并自動獲得HTTP URI,發(fā)布在網(wǎng)上。
(2)RDF 數(shù)據(jù)間的鏈接
RDF數(shù)據(jù)的特征就是可以開放、可利用、可關(guān)聯(lián),不僅可以鏈接統(tǒng)一數(shù)據(jù)源中的資源,還可以與其他數(shù)據(jù)源鏈接,似的用戶能跟隨RDF鏈接瀏覽整個(gè)數(shù)據(jù)WEB。
Drupal在建立本地RDF時(shí),建立了類似于超文本鏈接的鏈接機(jī)制,將字段值設(shè)為站點(diǎn)內(nèi)的另一個(gè)節(jié)點(diǎn),個(gè)節(jié)點(diǎn)通過字段節(jié)點(diǎn)來建立關(guān)聯(lián)。具體實(shí)現(xiàn)如下:字段被映射為一個(gè)RDF屬性,節(jié)點(diǎn)被轉(zhuǎn)換成RDF數(shù)據(jù)實(shí)例,各RDF數(shù)據(jù)實(shí)例之間就通過RDF屬性建立關(guān)聯(lián)。如下圖2所示。

圖2 各RDF數(shù)據(jù)實(shí)例建立關(guān)聯(lián)
目前,Web上最常用的開放利用RDF數(shù)據(jù)的方式Web上公開的SPARQL查詢終端。Drupal在本地提供了SPARQL查詢終端,同時(shí)Drupal支持RDF數(shù)據(jù)批量導(dǎo)入和導(dǎo)出RDF數(shù)據(jù)集,在本地站點(diǎn)管理后臺,可導(dǎo)入來自其他數(shù)據(jù)源的RDF數(shù)據(jù)。
DBpedia它是在萬維網(wǎng)中的Wikipedia中對大量的結(jié)構(gòu)化的信息提取,允許你訪問復(fù)雜的查詢連接在維基百科網(wǎng)站中資料各種數(shù)據(jù)集。簡單的說就是DBpedia是從維基百科的詞條里抽取結(jié)構(gòu)化數(shù)據(jù),以提供更準(zhǔn)確和更直接的維基百科搜索,并可使其他數(shù)據(jù)集與維基百科在數(shù)據(jù)節(jié)點(diǎn)上相鏈接。從而可以使它更容易在維基百科上用于新的、有趣的方式與大量的數(shù)據(jù)進(jìn)行鏈接,進(jìn)而建立新導(dǎo)航、鏈接和改善百科全書本身。
目前在DBpedia知識庫中有超過364萬的東西,包括416000人,526000個(gè)座位,音樂專輯,60000電影、17500視頻游戲,共有169000家機(jī)構(gòu),183000種和5400的疾病。并且 DBpedia數(shù)據(jù)集的標(biāo)簽和內(nèi)容有自己的特點(diǎn),這些東西有97種不同的語言,并且鏈接到圖片的鏈接,外部的網(wǎng)頁還鏈接到其他RDF數(shù)據(jù)集,因此,由10億塊信息組成其中3.85億的人中提取的英文版本維基百科和大約6.65億提取和其他語言版本的鏈接外部的數(shù)據(jù)集。DBpedia的知識庫和其它的相比具有很多優(yōu)點(diǎn),它有大量的現(xiàn)有知識基礎(chǔ),涵蓋多個(gè)領(lǐng)域,代表了真正的社區(qū)協(xié)議,它的自動進(jìn)化其實(shí)質(zhì)為維基百科的變化,所以說Dbpedia做到了真正意義上的數(shù)據(jù)關(guān)聯(lián)。
在DBpedia關(guān)聯(lián)數(shù)據(jù)發(fā)布首先也要進(jìn)行進(jìn)行結(jié)構(gòu)化數(shù)據(jù)抽取并RDF化。其具體工作流程如下圖3所示為:頁面收集器(PageCollection)是本地或遠(yuǎn)程Wikipedia文章源的抽象;目標(biāo)器(Destination)存儲或設(shè)置是否鏈接抽取RDF三元組;抽取器(Extractor)將特定的Wiki標(biāo)記轉(zhuǎn)換為三元組;解析器(Parsers)通過識別數(shù)據(jù)類型、不同單元之間的轉(zhuǎn)換值和將標(biāo)記拆分為列表來支持抽取器。抽取業(yè)務(wù)將頁面收集、抽取和目標(biāo)器組成一個(gè)工作流。結(jié)構(gòu)化數(shù)據(jù)經(jīng)抽取并轉(zhuǎn)換為RDF文件之后,存儲在Openlink virtuoso存儲器重,它能夠提供SPARQL端點(diǎn)。在使用過程中用戶可以瀏覽DBpedia數(shù)據(jù)集,并且通過RDF鏈接到其他數(shù)據(jù)集如 GeoNames、RDF BookMashup或者是 DBLP Bibliography而獲得更多的信息等結(jié)構(gòu)化數(shù)據(jù)經(jīng)抽取并轉(zhuǎn)化成RDF文件之后,存儲于OpenLinkVirtuoso存儲器中,它能夠提供SPARQL端點(diǎn)。為了獲得關(guān)聯(lián)數(shù)據(jù)視圖,在SPARQL端點(diǎn)前面還部署了Pubby,能夠?yàn)镾PARQL端點(diǎn)提供一個(gè)關(guān)聯(lián)數(shù)據(jù)界面,用戶通過此界面就可以進(jìn)行多種途徑的檢索,從而找到自己所需要的數(shù)據(jù)。

圖3 DBpedia關(guān)聯(lián)數(shù)據(jù)工作流程
此外,DBpedia與許多大規(guī)模的數(shù)據(jù)集合本體(如美國人口統(tǒng)計(jì)、GeoNames、DBLP Bibliography等)實(shí)現(xiàn)管理與互操作。由于廣泛的主題覆蓋面,DBpedia具有與各類大型數(shù)據(jù)集的通用數(shù)據(jù),因此,被各種數(shù)據(jù)集首選為關(guān)聯(lián)目標(biāo),同時(shí)DBpedia又作為各數(shù)據(jù)集的中介,彼此相互關(guān)聯(lián)。如圖顯示了與DBpedia相關(guān)聯(lián)的數(shù)據(jù)集(2011.9.11),總計(jì)多大10億個(gè)RDF三元組,620萬到其他的RDF數(shù)據(jù)集的外部鏈接。通過這些RDF鏈接,用戶可以從一個(gè)DBpedia的計(jì)算機(jī)科學(xué)家鏈接到其在DBLP數(shù)據(jù)庫中的出版物;從一個(gè)DBpedia圖書看到來自RDF Book Mashup的書評和售價(jià);或者從一個(gè)DBpedia中的樂隊(duì)到由MusicBrainz提供的樂隊(duì)歌曲。
關(guān)聯(lián)數(shù)據(jù)的應(yīng)用目前在國內(nèi)集中在圖書館領(lǐng)域,關(guān)聯(lián)數(shù)據(jù)它為圖書館的資源發(fā)現(xiàn)服務(wù)提供了良好的途徑,它創(chuàng)造了把圖書館的資源和外部世界相互連接起來的機(jī)會,可以增強(qiáng)和擴(kuò)展圖書館的發(fā)現(xiàn)平臺,以及支持圖書館在學(xué)術(shù)交流環(huán)境下作為創(chuàng)建者和出版者的作用,具體來講關(guān)聯(lián)數(shù)據(jù)是可以提供多個(gè)分布式異構(gòu)數(shù)據(jù)源整合的關(guān)聯(lián)的訪問,將來自不同數(shù)據(jù)源的同一個(gè)對象進(jìn)行整合,返回給用戶關(guān)于該對象的所有相關(guān)信息的統(tǒng)一視圖。然而,在國外已經(jīng)擴(kuò)展到各個(gè)領(lǐng)域,例如娛樂領(lǐng)域,由于在萬維網(wǎng)上我們大眾獲取的最多信息就是在娛樂生活方面關(guān)聯(lián)數(shù)據(jù)在此方面的應(yīng)用將會大大提升對人們生活的影響力。
我們就拿國外的BBC為例,它創(chuàng)立于1920年,電臺業(yè)務(wù)開播于創(chuàng)立當(dāng)天,并首次于1930年播出電視節(jié)目。BBC目前有32種語言的國際服務(wù),8個(gè)全國電視頻道,1個(gè)高清頻道,很多地方頻道,10個(gè)國家電臺,40多個(gè)地方電臺。在1994年建立了同行業(yè)最早的網(wǎng)站:bbc.co.uk。通過以上信息的介紹所有這些歷史,積累了難以想象的資料和素材,使它必須再次領(lǐng)先世界,建立最先進(jìn)的語義媒體庫:支持知識搜索,能夠自動向機(jī)器提供服務(wù)。作為廣播電視公司,節(jié)目是它最大的資源。傳統(tǒng)上,網(wǎng)站只是做節(jié)目推廣。現(xiàn)在三網(wǎng)合一,可以用來發(fā)布、推送、組織和存檔節(jié)目。BBC一直在尋求這樣的技術(shù),能夠?qū)BC千萬小時(shí)的節(jié)目及相關(guān)資源,組織成一個(gè)腦庫,成為人類記憶的一部分。整合對于因此進(jìn)行關(guān)聯(lián)數(shù)據(jù)的整合對于BBC未來的發(fā)展起著不可估量的作用,如下圖4就是實(shí)現(xiàn)BBC內(nèi)部數(shù)據(jù)關(guān)聯(lián)的過程。

圖4 BBC實(shí)現(xiàn)關(guān)聯(lián)數(shù)據(jù)的過程
通過關(guān)聯(lián)數(shù)據(jù)之后可以看出網(wǎng)站和數(shù)據(jù)的可用性大大增強(qiáng),用戶體驗(yàn)得到巨大提升,SEO效果明顯,甚至可以到每個(gè)資源,查準(zhǔn)率、可點(diǎn)擊性和可傳播性都獲得很大提高,可以看出整個(gè)網(wǎng)站是一個(gè)API平臺,采用了RESTful發(fā)布,與Web無縫集成,保證了鏈接的永久性和數(shù)據(jù)的開放性,系統(tǒng)各組成部分松散耦合,互相聯(lián)系卻互不干擾,整個(gè)系統(tǒng)成為一個(gè)不斷增長的有機(jī)體,從而帶動了它的健康發(fā)展。
[1]Berners-Lee T.Linked Data[EB/OL].[2010-01-20].http://www.w3.org/DesignIssues/LinkedData.htm.
[2]BizerC,Cyganiak R,HeathT.How to Publish Linked Data on the Web[EB/OL].[2010-02-22].http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/20070727/.
[3]The D2RQ Platform[EB/OL].[2009-08-10].http://www4.wiwiss.fu-berlin.de/bizer/D2RQ/spec/.
[4]OpenLink software[EB/OL].[2010-02-22].http://virtuoso.openlinksw.com/.
[5]triplify.org:Overview[EB/OL].[2012-09-12].http://triplify.org/.
[6]D2RQ映射語言的Schema定義[EB/OL].[2010-09-12].http://www4.wiwiss.fuberlin.de/bizer/d2rq/0.1/.
[7]Haslhofer,B.,Schandl,B.The OAI2LOD Server:Exposing OAI-PMH Metadata as Linked Data[C]//Proceedings of the 1st Workshop about Linked Data on the Web(LDOW2008)Beijing China.
[8]JPEG_RDFizer-SMILE[EB/OL].[2010-09-12].http://simile.mit.edu/wiki/JPEG_RDFizer.
[9]MARC/MODS RDFizer-SMILE[EB/OL].[2010-09-12].http://simile.mit.edu/wiki/MARC/MODS_RDFizer.
[10]RDF Book Mashup-Serving RDF Descriptions of Your Books[EB/OL].[2010-09-12].http://www4.wiwiss.fu-berlin.de/bizer/bookmashup/index.html.