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