□竇天芳 姜愛蓉 張成昱 韋小全 雷華平 李珍 陳代龍
艾利貝斯有限公司北京辦事處,北京,100044
同方知網(wǎng)(北京)技術(shù)有限公司,北京,100084
Web應(yīng)用已深入人心,我們的衣食住行乃至學(xué)術(shù)交流都可借助web服務(wù)來完成。特別是在web2.0的技術(shù)環(huán)境下,開放基于規(guī)范格式數(shù)據(jù)的web接口、提供良好的用戶體驗(yàn)漸成趨勢,Web技術(shù)和服務(wù)以更開放的姿態(tài)和更協(xié)作的理念把互聯(lián)網(wǎng)上各個節(jié)點(diǎn)的數(shù)據(jù)關(guān)聯(lián)起來。這給圖書館服務(wù)帶來了巨大的發(fā)展機(jī)遇。圖書館作為互聯(lián)網(wǎng)上的一個節(jié)點(diǎn),不再是用戶獲取信息資源的唯一入口[1]。在大的技術(shù)環(huán)境下,圖書館的數(shù)據(jù)作為優(yōu)質(zhì)的數(shù)據(jù)源應(yīng)被更多節(jié)點(diǎn)應(yīng)用集成。同樣,圖書館也要有意識地把web環(huán)境中不同來源的數(shù)據(jù)組織起來,重構(gòu)出符合本館特色的優(yōu)質(zhì)服務(wù)。
本文將以清華圖書館新版期刊導(dǎo)航為例,著重闡述圖書館采用不同的技術(shù)手段獲取不同來源的數(shù)據(jù),并進(jìn)行加工、重組,開展集成服務(wù)的思路和方案。
圖書館一直關(guān)注如何為讀者提供有效的資源導(dǎo)引服務(wù)。清華大學(xué)圖書館從2001年起就針對電子期刊資源開展了“電子期刊導(dǎo)航服務(wù)”[2],將分散在不同數(shù)據(jù)庫中的電子期刊集中在一起,建立一個具有瀏覽、檢索電子期刊等功能的導(dǎo)航系統(tǒng),給讀者提供一個方便、快捷的電子期刊查詢途徑[2]。開展“電子期刊導(dǎo)航服務(wù)”以來,數(shù)據(jù)的更新與維護(hù)一直依賴手工完成,隨著電子期刊數(shù)據(jù)的大幅增長,原有的數(shù)據(jù)更新與維護(hù)模式已難以保證期刊相關(guān)數(shù)據(jù)的準(zhǔn)確與有效。
2006年以來,清華大學(xué)引進(jìn)了SFX系統(tǒng)來做期刊的關(guān)聯(lián)及鏈接服務(wù),由SFX引申出來的期刊關(guān)聯(lián)和鏈接服務(wù)越來越受到讀者青睞。我館也傾入了更多人力來維護(hù)SFX的本地數(shù)據(jù),并有專人協(xié)調(diào)期刊發(fā)布平臺以規(guī)范中文期刊的來源數(shù)據(jù)。相對而言,SFX中的本地期刊數(shù)據(jù)更加規(guī)范、準(zhǔn)確和有效。
此外,隨著技術(shù)發(fā)展,很多電子期刊的發(fā)布平臺正在以 RSS feeds的形式發(fā)布文章級別的最新數(shù)據(jù),這些數(shù)據(jù)作為用戶關(guān)注的核心內(nèi)容仍然散落在互聯(lián)網(wǎng)上,無法通過現(xiàn)有的“電子期刊導(dǎo)航服務(wù)”集中展示。
綜上,我們需要借助新的系統(tǒng)和新的技術(shù)來改變原有期刊導(dǎo)航的數(shù)據(jù)維護(hù)方式和服務(wù)模式。本文嘗試從多數(shù)據(jù)源中抽取數(shù)據(jù),按照期刊導(dǎo)航這個平臺的特定要求對這些數(shù)據(jù)進(jìn)行加工處理,以期建立以本館SFX管理的期刊數(shù)據(jù)為線索的多層次立體化的期刊導(dǎo)航系統(tǒng)。
清華大學(xué)圖書館在充分調(diào)研電子期刊出版發(fā)布現(xiàn)狀,分析本館期刊數(shù)據(jù)以及本館系統(tǒng)優(yōu)勢的基礎(chǔ)上提出:建立一個多層次立體化的期刊導(dǎo)航系統(tǒng),即:建立一個以期刊數(shù)據(jù)為線索,向下關(guān)聯(lián)期刊的封面、目次、文章數(shù)據(jù),向外關(guān)聯(lián)期刊的評價信息、館藏年限,向上關(guān)聯(lián)期刊隸屬的數(shù)據(jù)庫(平臺)和學(xué)科分類的電子期刊導(dǎo)航系統(tǒng)。
具體地講,新版期刊導(dǎo)航要實(shí)現(xiàn)5個具體功能,包括:(1)靈活有效的瀏覽和檢索。這也是期刊導(dǎo)航最基本的功能。(2)點(diǎn)擊期刊名稱鏈接到刊。(3)提供期刊擴(kuò)展信息。(4)體現(xiàn)期刊評價。在學(xué)術(shù)研究競爭日趨激烈的今天,用戶都希望花最少的時間了解最高品質(zhì)的學(xué)術(shù)信息和最前沿的學(xué)術(shù)動態(tài)。新版期刊導(dǎo)航系統(tǒng)要能揭示期刊的評價信息,把SCI/EI等權(quán)威收錄機(jī)構(gòu)的收錄情況直觀地展示出來。(5)實(shí)現(xiàn)最新封面、目次和文章等內(nèi)容的推送。
其中,(1)-(3)功能模塊在原有導(dǎo)航中就有較好的體現(xiàn)。本案中,我們要做的主要工作是從 SFX知識庫中提取相關(guān)數(shù)據(jù)作為此3項(xiàng)功能的基礎(chǔ)數(shù)據(jù),盡量按照原版期刊導(dǎo)航的風(fēng)格展示。選用Ulrich's Periodicals Directory(烏利希國際期刊指南)作為提供期刊擴(kuò)展信息的有效補(bǔ)充。后兩項(xiàng)功能主要是收集權(quán)威評價機(jī)構(gòu)的收錄信息,收集期刊的最新封面、目次和文章等數(shù)據(jù)并完成關(guān)聯(lián)應(yīng)用。其中文章級別數(shù)據(jù)的采集和集成應(yīng)用是新版期刊導(dǎo)航的一個重要特色,也是實(shí)現(xiàn)新版期刊導(dǎo)航的一項(xiàng)重要工作。后文中提到的“期刊導(dǎo)航”均指“新版期刊導(dǎo)航”。
按照上述需求,我們選擇4個數(shù)據(jù)來源,包括:SFX知識庫,RSS收割服務(wù)器,從評價機(jī)構(gòu)獲取的期刊評價列表,從 Ulrich's Periodicals Directory獲取的期刊擴(kuò)展信息(補(bǔ)充 SFX知識庫擴(kuò)展信息的不足)。RSS收割服務(wù)器是利用一款專門定制的收割工具,對提供 RSS feeds的期刊及其文章進(jìn)行采集的服務(wù)器。
在程序架構(gòu)的設(shè)計上,我們借鑒了數(shù)據(jù)網(wǎng)絡(luò)體系OGSA-DAI的結(jié)構(gòu)模型[3],但是在本案中不涉及客戶端層的應(yīng)用,只預(yù)留了未來通過 SOAP/REST協(xié)議與客戶端交互的接口。此外,從數(shù)據(jù)層到業(yè)務(wù)邏輯層直至web展示層全部貫穿了模塊化的處理思想。圖1是程序設(shè)計的架構(gòu)圖,其中,數(shù)據(jù)源來自不同服務(wù)器;抽取規(guī)則用來限制從哪些數(shù)據(jù)源獲取哪些數(shù)據(jù);抽取規(guī)則和抽取之后的數(shù)據(jù)存放在本地服務(wù)器上,分別管理;web表現(xiàn)層按照相應(yīng)的訪問規(guī)則調(diào)用存放在本地服務(wù)器上的數(shù)據(jù)來達(dá)到數(shù)據(jù)融合后的資源導(dǎo)引服務(wù)。評價信息和期刊擴(kuò)展信息透過訪問規(guī)則被web層直接調(diào)用。
圖1 程序設(shè)計架構(gòu)
本節(jié)主要討論從SFX知識庫、RSS收割服務(wù)器上抽取數(shù)據(jù)的過程和規(guī)則。
SFX知識庫中的數(shù)據(jù)存放在關(guān)系型數(shù)據(jù)庫Mysql中,在邏輯上具有明顯的層級關(guān)系。其中,最基本的數(shù)據(jù)是object,即對象級數(shù)據(jù),有10種數(shù)據(jù)類型,包括 :電子期刊(journals),電子書(books),論文(dissertation),報告(report)等,是SFX知識庫管理的最小單位。依次向上分別是管理對象數(shù)據(jù)(object)的 coverage信息(object portfolio),對象數(shù)據(jù)所能提供的服務(wù)(target service),對象數(shù)據(jù)隸屬的數(shù)據(jù)庫平臺(target),如圖2中的 Database Tables[4]。但是object類型為 journal的數(shù)據(jù)并不一定是全文電子期刊,而是因提供GetAuthor,GetCitedJournal等服務(wù)而激活的對象,因此,我們不能簡單地判斷object type為journal的數(shù)據(jù)一定是我館有權(quán)使用全文的電子期刊數(shù)據(jù),而要從 target service為Get-Fulltext類型的激活數(shù)據(jù)中抽取所需元數(shù)據(jù),按照上下層級的關(guān)系來獲取最終的基礎(chǔ)數(shù)據(jù)。
抽取哪些元數(shù)據(jù),如何映射,需要事先明確新版期刊導(dǎo)航中要揭示的基本信息和可能做未來擴(kuò)展的關(guān)聯(lián)字段。在期刊導(dǎo)航中,我們需要展現(xiàn)的期刊基本信息包括:刊名,ISSN,館藏年限范圍,語種,分類。ISSN,語種等元數(shù)據(jù)可以直接提取和映射,其他元數(shù)據(jù)則需要我們抽取幾個元數(shù)據(jù)來映射或者加工成一個元數(shù)據(jù)項(xiàng)。
例如,為保證館藏年限的準(zhǔn)確性,我們抽取 local threshold和globle threshold兩個元數(shù)據(jù),取交集。并根據(jù)SFX對年限的表述規(guī)則,加工成為讀者理解和熟識的描述規(guī)則——館藏年限:2001年至今,滯后1年6個月。表 1是SFX知識庫中有關(guān)年限的數(shù)據(jù)格式。
表1 SFX數(shù)據(jù)中的年限數(shù)據(jù)
另外,考慮到鏈接和擴(kuò)展功能,我們還需要抽取object id/target name等元數(shù)據(jù),并按照鏈接和擴(kuò)展的規(guī)則生成新的應(yīng)用。抽取回來的元數(shù)據(jù)見圖2。
從SFX中抽取的具體信息保存在期刊導(dǎo)航本地數(shù)據(jù)庫中,我們稱之為期刊基礎(chǔ)信息庫。
圖2 SFX數(shù)據(jù)的邏輯結(jié)構(gòu)和抽取的元數(shù)據(jù)
獲取和推送最新文章數(shù)據(jù)是這版期刊導(dǎo)航的一個重要特點(diǎn)。清華大學(xué)圖書館長期追蹤學(xué)術(shù)期刊的情況表明,主流的學(xué)術(shù)期刊出版及發(fā)布平臺,如Elsevier SD[5],Springer Link,中國期刊網(wǎng)等平臺都在以RSS feeds的形式發(fā)布最新文章數(shù)據(jù),且提供Rss feeds的期刊數(shù)量占出版平臺總期刊量的比例高得驚人!中國期刊網(wǎng)平臺上100%的學(xué)術(shù)期刊提供RSS feeds,而 Elsevier SD和Springer Link平臺也有 85%的期刊提供 Rss feeds。基于此,清華大學(xué)圖書館嘗試批量獲取這些RSS feeds并分類型解析,入庫,建立以文章數(shù)據(jù)為核心的資源池。這些文章級別的數(shù)據(jù)和圖書館已有的數(shù)據(jù)進(jìn)行重組(在本次應(yīng)用中是和SFX中的期刊數(shù)據(jù)進(jìn)行重組),從而開發(fā)出獨(dú)具特色的圖書館服務(wù),以提升圖書館服務(wù)的整體水平。
RSS feeds發(fā)布的數(shù)據(jù)格式是基于 RDF/XML的,DOM(Document Object Model)或者 SAX(Simple API for XML)解析器可完成XML數(shù)據(jù)的解析。我館則是和清華同方合作,開發(fā)定制了一款專門針對學(xué)術(shù)期刊的RSS feeds進(jìn)行采集處理的工具,利用這個工具對散落在不同平臺上的文章數(shù)據(jù)進(jìn)行采集,解析,并加工入庫,從 2009年初至今,RSS收割服務(wù)器收割到館的期刊數(shù)已達(dá)15000種,累計的文章數(shù)據(jù)達(dá)五十萬篇,并封裝出基于 XML的web service接口,形成一個相對集中、接口完善的以文章數(shù)據(jù)為核心的資源池。考慮到篇幅有限,RSS feeds的收割細(xì)節(jié)另撰文描述。本案主要討論如何利用 web service接口從這個文章級別的資源池(RSS收割服務(wù)器)中抽取文章數(shù)據(jù)并與其他數(shù)據(jù)源的數(shù)據(jù)集成應(yīng)用。
該接口采用REST協(xié)議,定義了 4個動作來限定具體操作,通過不同參數(shù)來完成數(shù)據(jù)的交互。接口在封裝之前已針對多個字段建立索引,完成了卷期的運(yùn)算,最新文章的界定等操作,外部程序通過4個動作調(diào)用接口,返回的數(shù)據(jù)包括:來源期刊,期刊出版單位,最新封面鏈接地址,最新文章的作者,題名,卷期,出版日期,最新文章的鏈接地址(RSS提供的URL),文章摘要,文章 DOI,來源期刊的 ISSN/EISSN等內(nèi)容。以下的實(shí)例是期刊導(dǎo)航系統(tǒng)從接口處獲取的XML文件的片段。
新版期刊導(dǎo)航系統(tǒng)通過接口獲取到這些XML數(shù)據(jù),按照對應(yīng)關(guān)系,從XML數(shù)據(jù)中解析出相應(yīng)的元數(shù)據(jù)及其值,轉(zhuǎn)換成關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)格式,存放在本地臨時數(shù)據(jù)庫中,我們稱之為文章信息庫。該庫不做永久保存。解析之后的文章鏈接,本期封面則以 URL形式存放,在頁面呈現(xiàn)時從 RSS收割服務(wù)器調(diào)用。
圖3反映了期刊導(dǎo)航系統(tǒng)調(diào)用RSS收割服務(wù)器web service接口的流程。
圖3 期刊導(dǎo)航獲取文章數(shù)據(jù)的流程
我們從SFX知識庫,RSS收割服務(wù)器上抽取的數(shù)據(jù)經(jīng)過加工處理,最終在期刊導(dǎo)航系統(tǒng)中建立了期刊基礎(chǔ)信息庫和文章信息庫,同時我們從資源商(SCI,EI等)那里獲得的評價信息列表也存放在本地數(shù)據(jù)庫中,并通過烏利希國際期刊指南作為外部數(shù)據(jù)源來共同支撐電子期刊導(dǎo)航的服務(wù)。
展示層的工作主要完成資源的揭示與檢索結(jié)果的展示。其中多源數(shù)據(jù)的關(guān)聯(lián)應(yīng)用是檢索結(jié)果展示的關(guān)鍵環(huán)節(jié)。
在資源的揭示方面,我們提供了從學(xué)科,語種,字順,期刊名稱,ISSN等角度來查找期刊的功能,并采用一些Javascript技術(shù)來實(shí)現(xiàn)界面的靈活有序和信息呈現(xiàn)的最大化。
檢索結(jié)果的展示,是多源數(shù)據(jù)支撐期刊導(dǎo)航服務(wù)的關(guān)鍵部分。在設(shè)計這塊內(nèi)容的展示時要考慮有效信息的合理關(guān)聯(lián)。考慮到期刊的特性,負(fù)責(zé)在展示層關(guān)聯(lián)的重要字段是ISSN和期刊名稱。具體地講就是,用戶針對期刊提出檢索/瀏覽請求,系統(tǒng)在期刊信息庫中找到滿足條件的結(jié)果,同時根據(jù)這些結(jié)果中的ISSN或刊名,分別向其他3個數(shù)據(jù)源再次發(fā)送請求做相應(yīng)的判斷,當(dāng)與預(yù)定的規(guī)則匹配時,即顯示相應(yīng)的字段或者觸發(fā)相關(guān)模塊。圖4是展示層處理多源數(shù)據(jù)的規(guī)則與流程。
圖4 展示層處理規(guī)則與流程
舉例說明:通過期刊導(dǎo)航系統(tǒng)查詢期刊“Acta Diabetologica”,系統(tǒng)首先在期刊基礎(chǔ)信息庫中得到檢索結(jié)果,并返回了相關(guān)的基礎(chǔ)信息,包括期刊名稱,鏈接規(guī)則,ISSN,分類,隸屬平臺等信息,同時系統(tǒng)根據(jù)返回的 ISSN=“0940-5429”或者期刊名稱=“Acta Diabetologica”返回文章信息庫查找該期刊是否存在相應(yīng)的收割 ID,如果收割 ID不為空,則調(diào)用這些數(shù)據(jù)和文章呈現(xiàn)模版來呈現(xiàn)當(dāng)期的期刊封面,包含鏈接的文章列表,卷期等信息。同時其他兩個數(shù)據(jù)源也會按照相應(yīng)的規(guī)則給出最終的展示效果。在檢索結(jié)果的展示界面,用戶不僅獲取了期刊的基本信息和傳統(tǒng)“電子期刊導(dǎo)航服務(wù)”的鏈接到刊服務(wù),而且向下無縫獲取了該刊當(dāng)期封面和文章數(shù)據(jù),向外獲取了該刊被SCI收錄的評價信息,向上關(guān)聯(lián)了期刊隸屬的數(shù)據(jù)庫平臺-Springer link和學(xué)科分類。
文章呈現(xiàn)模板只有當(dāng)鼠標(biāo)劃過期刊名稱時才會觸發(fā),文章呈現(xiàn)模板中的more字段采用XSLT+XML的方式呈現(xiàn)更多文章信息。用戶點(diǎn)擊文章名稱則可直接閱讀該篇文章全文。
清華大學(xué)的新版期刊導(dǎo)航系統(tǒng)綜合運(yùn)用了RSS,mashup,AJAX等web2.0技術(shù),利用多源數(shù)據(jù),圍繞期刊導(dǎo)航這一核心服務(wù)延伸出更多服務(wù)內(nèi)容,并改變了我館原有期刊導(dǎo)航的數(shù)據(jù)維護(hù)機(jī)制。服務(wù)系統(tǒng)一經(jīng)推出即受到用戶的一致好評。開發(fā)新版期刊導(dǎo)航服務(wù)也是綜合各廠商數(shù)據(jù),協(xié)調(diào)多廠商技術(shù)規(guī)范的一個有益嘗試,它充分體現(xiàn)了 2.0時代開放協(xié)作的優(yōu)勢。文中涉及的多源數(shù)據(jù)采集、重組、集成應(yīng)用的思路也為我們未來在“云計算”環(huán)境下開展饒有特色的圖書館服務(wù)開辟了廣闊的空間。
1 竇天芳等.把圖書館服務(wù)嵌入到用戶應(yīng)用環(huán)境中的探索與實(shí)踐.見:香港圖書館學(xué)會“回顧與前瞻-資訊世界中的亞洲圖書館”會議論文集,香港,2008:122-128
2 黃美君,姜愛蓉.電子期刊導(dǎo)航系統(tǒng)的建立與維護(hù).大學(xué)圖書館學(xué)報,2001(6):17-20
3 羅清地,蔣秀鳳.網(wǎng)格環(huán)境下基于OGSA-DAI的異構(gòu)數(shù)據(jù)集成研究.計算機(jī)技術(shù)與發(fā),2009,19(1):144-147
4 Exlibris Ltd.V3.0 SFX User Guide.[2009-05-12].http://www.ex librisg roup.com/docportal/
5 Elsevier B.V.About RSS.[2009-06-03].http://www.sciencedirect.com/science/help/about_rss.htm