OAI协议及其应用,本文主要内容关键词为:及其应用论文,协议论文,OAI论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
【分类号】TP391.3
1 引言
图书馆和信息资源委员会(Council on Library and Information Resource,CLIR)、数字图书馆联盟(Digital Library Federation,DLF)等组织1999年底在新墨西哥州Santa Fe召开的会议上,Paul Ginsparg,Rick Luce,Herbert Van de Sompel等人提出OAI设想。OAI(Open Archive Initiative),意为开放文档先导,是一个旨在促进网络信息资源开发、发布与共享的合作组织。现由数字图书馆联盟、网络信息联合会(Coalition Networked Information,CNI)、美国国家科学基金会(National Science Foundation,NSF)等机构联合资助。OAI下设指导委员会(Steering Committee)和技术委员会(Technical Committee),分别负责OAI的整体运作和研究今后的需求及发展。
OAI提出了基于元数据的电子文献互操作框架,形成了OAI协议(Open Archives Initiative Protocol for Metadata Harvesting,OAI-PMH)。2001年1月21日发布了OAI-PMH测试版Version 1.0,同年7月2日又发布了一个更新的测试版Version 1.1,2002年6月14日发布了正式版Version 2.0。尽管OAI起源于电子出版界(E-print Community)的互操作计划,随着OAI的发展,应用也远远超出了这一范围。原则上对任何数字对象都可以适用。
OAI协议的目标是通过元数据收获这种模式实现Web上发布信息的不同组织(主要在欧美等地)之间的互操作,形成一个与应用无关的互操作框架,同时也为我国正在开展的信息资源整合提供有效工具。
2 OAI协议框架
OAI协议规定了两种角色:数据提供者(Data Provider)和服务提供者(Service Provider)。数据提供者负责元数据的生成、发布、管理和组织。数据提供者可以有自己的元数据标准,但它应能够通过元数据映射,发布符合OAI协议规范的元数据。数据提供者将各种数字资料处理成数字对象存储在数据库(Repository)中,每一个数字对象都有一个全球惟一、持久的标识符。在基于OAI的元数据互操作框架中,数据提供者提供的元数据质量非常关键。
服务提供者通过元数据收获机(Metadata Harvester)从数据提供者和其它服务提供者处收获元数据,并对这些元数据进行加工处理,提供增值服务,建立元数据之间的关系,向用户提供统一的查询界面。它提供的最基本的增值服务是对所有元数据根据同一分类体系进行分类,或者根据Ontology组织元数据。服务提供者也可以只收获某一学科、某一研究领域的元数据。
OAI协议要求数据提供者与服务提供者事先都要在注册服务器中进行注册。目的是要对数据提供者与服务提供者进行组织,更重要的是执行相关验证程序来确保所登记的数据提供者或服务提供者是否完全符合OAI协议的规定,确保数据提供者和服务提供者都遵守OAI协议规范框架。注册服务器除了提供注册界面,还提供查询界面,让服务提供者查找数据提供者,用户查找服务提供者,这类似Internet中的域名解析。
OAI协议的实现需要建立在超文本传输协议(HTTP)的基础上,通常采用GET或POST请求实现元数据采集。OAI协议指定DC(Dublin Core)为必须支持的元数据格式,通过元数据前缀说明,支持其它元数据格式。一个数据提供者可以向多个服务提供者提供元数据,一个服务提供者可以从多个数据提供者获取元数据。数据提供者和服务提供者只是角色的划分,一个组织(或服务器)既可以是数据提供者,也可以是服务提供者。服务提供者与数据提供者之间的消息传递是通过OAI request和OAI response实现的。OAI协议的运行框架如图1所示。
图1 OAI协议的运行机制示意
3 OAI命令
OAI协议通过指定命令集,从数据库前端服务器(数据提供者)向其管理的数据仓库获得所需信息。由于OAI是基于HTTP的应用协议,故其命令集通过HTTP所使用前端服务器向数据仓库传输变量与内容,由服务器程序根据变量及其内容进行处理,并返回结果。OAI命令至少有一个以key=vlaue形式出现的参数,多个参数则用符号&隔开。提供的命令有6种,详见表1:
表1 OAI协议命令集
下面以GetRecord命令为例,说明OAI命令的具体实现。OAI规定了请求的格式,服务提供者必须按照这个格式提出请求,首先,服务提供者向数据提供者发出如下请求:
http://an.oa.org/OAI-script? verb=GetRecord&identifier=oai%3AarXiv%3Aquant-ph%2F9901001&metadataPrefix=oai_dc
然后接受符合XML Schema规定的元数据。数据提供者也必须以XML文档的格式为服务提供者提供元数据,此例中,数据提供者反馈如下以XML表示的信息:
<? xml version="1.0"encoding="UTF-8"?>
<GetRecord
xmlns=http://www.openarchives.org/OAI/1.1/OAI_GetRecord
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="http://www.openarchives.org/OAI/1.1/OAI_GetRecord
http://www.openarchives.org/OAI/1.1/OAI_GetRecord.xsd">
<responseDate>2001 - 06-10T14:09:57 - 07:00</responseDate>
<requestURL>http://an.oa.org/OAl-script? verb =GetRecord
&identifier=oai%3AarXiv%3Aquant-ph%2F9901001
&metadataPrefix=oai_dc</requestURL>
<record>
<header>
<identifier>oai:arXiv:quant-ph/9901001</identifier>
<datestamp>1999-01-01</datestamp>
</header>
<metadata>
<dc xmlns="http://purl.org/dc/elements/1.1/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://purl.org/dc/elements/1.1/
http://www.openarchives.org/OAI/1.1/dc.xsd">
<title>Quantum slow motion</title>
<creator>Hug,M.</creator>
<creator>Milburn,G.J.</creator>
<description>We simulate the center of mass motion of cold atoms in a standing,amplitude modulated,laser field as an example of a system that has a classicalmixed phase-space.</description>
<date>1999-01-01</date>
<type>e-print</type>
<identifier>http://arXiv.org/abs/quant-ph/9901001</identifier>
</dc>
</metadata>
</record>
</GetRecord>
4 OAI协议应用
OAI的初衷是形成一个使用收获元数据机制来提高不同数据仓库之间的互操作能力的协议。从目前的应用情况来看,最能发挥其功效的地方是通过使用所收获的元数据来建立一个全新的服务。图书情报界在这方面进行了一些探索性工作,取得了一些实用的成果。使用OAI协议框架实施的项目主要有:
(1)National Science Digital Library(NSDL):该项目由美国National Science Foundation支助,目的是创造一个联机学术资源使用环境,内容包括各种学科、工程和基础教育等,并将与San-Diego Super Computer Center合作,通过OAI协议获取元数据,再经过加工处理,使得用户可以用简易数字图书馆互操作协议(The Simple Digital Library Interoperability,SDLIP)进行检索。
(2)Cyclades:此项目由European Commission与意大利、德国、英国等国家共同推行,其目标是通过OAI协议发展更好的联机文献存储与传递服务,以协助研究人员面对大量繁杂的电子文档时,可以检索到自己需要的资料。
(3)The Andrew Mellon Foundation:将使用OAI协议,为其下属的七个机构中的总量达150万条数字化文献,建立学科网关或门户服务。
(4)The Research Libraries Group(RLG):使用OAI协议,从RLG数据库中收获元数据,形成目录,供因特网上的标准搜索引擎(如Google)检索。
(5)The Digital Library Federation:在其支助的网关服务项目中,用户存取分布式数字图书馆的收藏时,就好像它们是一个整体。这个网关服务基础就是OAI元数据收获协议。
(6)The OCLC Office of Research:有好几个进行中的项目采用OAI协议,如OAICat,它是一个开放资源OAI元数据服务器,可以置于一个数据库之上,很方便将数据库转换成OAI repositories。EDTCat和OAICat包含了从OCLC WorldCat数据库中抽取的学位论文记录。还有HarvestCat,也是一个包含从其它OAI兼容的数据仓库中收获来的记录的服务器。为了这些项目,The OCLC Office of Research还开发许多免费软件供其用户使用。
一般来说,OAI协议的应用需要有三个模块的支持:数据提供模块、服务提供模块和注册服务模块。数据提供模块的核心是元数据创建;服务提供者模块通过元数据收获机(Metadata harvester)从数据提供者和其它服务提供者处收获元数据,也可以通过元数据收集的接口向其它的服务器提供元数据;注册服务器实现注册服务、查询服务、服务与数据提供者分类的功能。
5 结束语
OAI协议是在元数据这个层面上组织管理数字对象,不涉及数字对象本身的内容,如全文信息等。而全文信息正是用户最感兴趣的,因此,在今后的OAI协议版本中,应考虑解决对全文信息的适当使用等问题,使得OAI协议具有更广泛的应用范围。
标签:元数据论文;