《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 基于OAI协议的元数据交互解决方案
基于OAI协议的元数据交互解决方案
董彦奇1, 侯丽波1, 金玉
摘要: OAI旨在通过定义简单的协议来解决元数据的交互性问题,以便有效分发数据内容。本文简要介绍了OAI的历史并详细阐述了元数据收获的技术标准及其应用。
關(guān)鍵詞: OAI OAI协议 元数据
Abstract:
Key words :

  摘  要: OAI旨在通過定義簡單的協(xié)議來解決元數(shù)據(jù)的交互性問題,以便有效分發(fā)數(shù)據(jù)內(nèi)容。本文簡要介紹了OAI的歷史并詳細(xì)闡述了元數(shù)據(jù)收獲的技術(shù)標(biāo)準(zhǔn)及其應(yīng)用。

  關(guān)鍵詞: OAI協(xié)議  交互性  元數(shù)據(jù)

 

  1999年10月,在美國圣達(dá)菲舉行的一次會議上討論了開發(fā)電子文本的解決方案,提出了開放文獻(xiàn)倡導(dǎo)OAI(Open Archives Initiative),從此開始了基于框架的數(shù)據(jù)交互。OAI在組織性和技術(shù)性上得到了不斷發(fā)展,焦點(diǎn)也由原來單一的電子文本擴(kuò)展到了各個(gè)領(lǐng)域的內(nèi)容提供者。OAI已經(jīng)開發(fā)出一個(gè)精簡的并且經(jīng)過廣泛測試的技術(shù)框架,并已經(jīng)建立了支持開放文獻(xiàn)倡導(dǎo)的組織機(jī)構(gòu)。

  OAI中的開放并不意味著任意的、沒有限制地存取知識倉庫中的信息,因?yàn)殡S意存取信息不僅涉及版權(quán)問題,而且還存在網(wǎng)絡(luò)安全及信息濫用問題。而“文獻(xiàn)”在這里已經(jīng)成為廣義上的存儲信息的知識倉庫。

1 OAI技術(shù)框架

  OAI技術(shù)框架以提供一個(gè)低障礙的交互方法為目的。通常,交互性的成本隨著功能的增長而增長。OAI技術(shù)框架雖然不想代替其他的交互協(xié)議,但它提供了一種更易實(shí)現(xiàn)和易配置的方案。

  技術(shù)協(xié)議基于二種不同角色:

  (1)數(shù)據(jù)提供者:把OAI技術(shù)作為提供元數(shù)據(jù)的方法。

  (2)服務(wù)提供者:使用OAI協(xié)議從數(shù)據(jù)提供者收獲元數(shù)據(jù),并作為增值服務(wù)的基礎(chǔ)。

  如圖1所示,數(shù)據(jù)提供者對來自服務(wù)提供者的OAI Request消息做出響應(yīng),從它管理的知識倉庫以O(shè)AI Response消息的形式向服務(wù)器發(fā)布元數(shù)據(jù)。服務(wù)器獲得元數(shù)據(jù)并提供增值服務(wù)。OAI對數(shù)據(jù)提供者提供的元數(shù)據(jù)格式作了規(guī)定,即Dublin Core格式或者服務(wù)提供者要求的元數(shù)據(jù)格式。數(shù)據(jù)提供者按照規(guī)定的格式以XML文檔的形式為服務(wù)提供者提供元數(shù)據(jù)。一個(gè)數(shù)據(jù)提供者可以向多個(gè)服務(wù)提供者提供元數(shù)據(jù),一個(gè)服務(wù)提供者也可以從多個(gè)數(shù)據(jù)提供者處獲取元數(shù)據(jù)。數(shù)據(jù)提供者和服務(wù)提供者只是角色的劃分,一個(gè)組織既可以是數(shù)據(jù)提供者也可以是服務(wù)提供者。

2 元數(shù)據(jù)

  OAI技術(shù)框架對元數(shù)據(jù)提出交互性和可擴(kuò)展性二個(gè)基本要求。交互性和可擴(kuò)展性已經(jīng)成為元數(shù)據(jù)團(tuán)體討論的主題。

為了使元數(shù)據(jù)具有交互性,OAI統(tǒng)一規(guī)定數(shù)據(jù)提供者提供的元數(shù)據(jù)格式為Dublin Core元數(shù)據(jù)核心集[2]。這樣做雖然加重了數(shù)據(jù)提供者的負(fù)擔(dān),但卻為元數(shù)據(jù)信息的發(fā)布提供了統(tǒng)一的接口。表1給出了Dublin Core的15個(gè)元素。

 

  DC只有15個(gè)元素,且都具有一個(gè)能夠普遍理解的語義,適合各種領(lǐng)域使用。每個(gè)元素都可以自由選用及重復(fù)使用,元素的含義不因其是否嵌入所描述的資源而受到影響。DC并非某一具體學(xué)科專用,它支持任何內(nèi)容的資源描述,使得跨學(xué)科的語義描述有了互操作性的可能。OAI要求在OAI Records中包含多個(gè)DC元素,并且保持了元素的可選性。這樣更益于交互性,數(shù)據(jù)提供者可以根據(jù)自己的需求提供DC元數(shù)據(jù)。

  OAI技術(shù)框架支持DC之外的其他元數(shù)據(jù)集。但是元數(shù)據(jù)Records必須以XML文檔的形式給出。而且這些XML文檔必須有相應(yīng)的XML Schema來驗(yàn)證。OAI倡導(dǎo)開發(fā)特定領(lǐng)域的元數(shù)據(jù)集規(guī)范。

3 元數(shù)據(jù)記錄Records

  OAI技術(shù)框架定義了一個(gè)記錄Record,它以XML字節(jié)流的形式作為收獲的元數(shù)據(jù)。Record包括以下三個(gè)部分:

  (1)Header:包含了發(fā)布這個(gè)Record的Item的惟一標(biāo)識符Identifier以及用來確定選擇性收獲的屬性:Record被產(chǎn)生、刪除或者最近被修改的日期Datestamp以及發(fā)布這個(gè)Record的Item所屬知識倉庫集合setSeps。

  (2)metadata:包含了單一格式的元數(shù)據(jù)。OAI數(shù)據(jù)提供者必須能夠發(fā)布包含DC元數(shù)據(jù)的record,其他的元數(shù)據(jù)格式是可以選擇的。

  (3)About:描述關(guān)于Record的Metadata部分的來源以及版權(quán)信息。

  元數(shù)據(jù)Record來源于知識倉庫,即數(shù)據(jù)提供者的服務(wù)器。抽象地說,知識倉庫包含許多Item,每個(gè)元數(shù)據(jù)Record從知識倉庫中相應(yīng)的Item獲取。具體來說,每個(gè)Record有一個(gè)標(biāo)識符Identifier,用來標(biāo)識從哪個(gè)知識倉庫中的Item取得元數(shù)據(jù)Metadata。

  程序1為一個(gè)OAI Record的示例。

  程序1

  

  

4  開放文獻(xiàn)元數(shù)據(jù)收獲協(xié)議OAI-PMH

  OAI-PMH(OAI Protocol for Metadata Harvesting)定義了數(shù)據(jù)提供者和服務(wù)提供者之間的交互機(jī)制。OAI-PMH由六種Request或者verb組成,分別是GetRecord、Identify、ListIdentify、ListMetadataFormats、ListRecords、ListSets。協(xié)議以HTTP POST和GET二種方法來實(shí)現(xiàn)。知識倉庫必須支持這二種方法。OAI Request的結(jié)構(gòu)如下:

  (1)基本URL:作為知識倉庫的HTTP服務(wù)器的主機(jī)地址,有一個(gè)可選擇的路徑來處理OAI Request。

  (2)關(guān)鍵字參數(shù):包含了一個(gè)“關(guān)鍵字-值”的列表,其形式為“Verb=OAI Request”。每個(gè)OAI Request至少有一對關(guān)鍵字-值來表示OAI Request的名字。

  程序2給出了用HTTP GET和POST方法請求的示例,從基本URL為http://arXiv.org/oai1的arXiv預(yù)印文本文獻(xiàn)庫知識倉庫中請求以oai_dc格式返回標(biāo)識符為oai:arXiv.org:cs.SE/0101002的記錄。

  程序2

    以HTTP GET方法Request的示例:http://arXiv.org/oai1?

  verb=GetRecord&

   identifier=oai:arXiv.org:cs.SE/0101002&

   metadataPrefix=oai_dc

    以HTTP POST方法Request的示例:POST http://arXiv.org/oai1

   Content-Length:82

   Content-Type:application/x-www-form-urlencoded

   verb=GetRecord&

   identifier=oai:arXiv.org:cs.SE/0101002&

   metadataPrefix=oai_dc

  作為對OAI Request的響應(yīng),OAI Response包括了以下幾個(gè)部分:

  (1)XML聲明,例如。

  (2)根元素OAI-PMH以及它的三個(gè)命名空間URI(統(tǒng)一資源標(biāo)識符)屬性。

  (3)響應(yīng)時(shí)間ResponseDate以及對應(yīng)的Request。

  (4)與Request相同類型的元素,即在Request中的Verb參數(shù)的值。

    程序3為對GetRecord請求響應(yīng)Response的示例。

    程序3

  

  下面對OAI-PMH協(xié)議的各種請求做一個(gè)總結(jié)。

  (1)GetRecord。這個(gè)請求用來從知識倉庫中的Item得到單個(gè)得元數(shù)據(jù)Record。要求具體的標(biāo)識符參數(shù)Identifier。從程序3中可以清楚地看到。

  (2)Idetify。這個(gè)請求用來得到知識倉庫的信息。響應(yīng)應(yīng)該包括以下一些信息:①知識倉庫的名字。②知識倉庫的基本URL。③知識倉庫所支持的OAI協(xié)議的版本。④知識倉庫管理員的e-mail地址。

  (3)ListIdentifier。這個(gè)請求用來得到所有可以從知識倉庫中獲取的記錄的標(biāo)識符。幾個(gè)可選參數(shù)有選擇地得到這些標(biāo)識符,例如from、until確定得到在具體的日期范圍內(nèi)增、刪、改記錄的標(biāo)識符。

  (4)ListMetadataFormats。這個(gè)請求用來得到所有能從知識倉庫返回的元數(shù)據(jù)格式。

  (5)ListRecords。這個(gè)請求用來從知識倉庫獲取記錄集??蛇x參數(shù)允許選擇性地進(jìn)行獲取?;蛘邚奶囟ǖ腟et中取記錄集,或者按照一定日期范圍內(nèi)進(jìn)行增、刪、改來收獲記錄集。

  (6)ListSets。這個(gè)請求用來得到知識倉庫中的所有Set。

5 結(jié)束語

  本文詳細(xì)論述了基于OAI技術(shù)框架的元數(shù)據(jù)的交互,并給出了應(yīng)用示例。OAI協(xié)議的實(shí)現(xiàn)為不同格式的數(shù)字資源共享提供了更多的靈活性,有廣闊的發(fā)展前景。目前,許多國外數(shù)字圖書館已經(jīng)能夠支持OAI服務(wù),如法國國家圖書館、英國圖書館UKOLN、美國Digital Library Federation、UC Berkeley等。我國數(shù)字圖書館的建設(shè)中,OAI也將成為一個(gè)通用的標(biāo)準(zhǔn),為數(shù)字資源的共享和交互提供強(qiáng)有力的支持。

 

參考文獻(xiàn)

1  王愛華,張銘,楊冬青等.基于OAI的數(shù)字圖書館中元數(shù)據(jù)互操作框架.計(jì)算機(jī)工程應(yīng)用,2002;(1)

2  Lagoze C,Sompel H V.Building a low-barrier interoperability framework.Digital Library Research Group

Cornell University.http://www.openarchives.org/documents/oai.pdf

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容