21.3.      OAI接口

CSpace系统提供OAI接口,支持按照OAI-PMH协议,获取系统中所有条目的元数据(除内部专题外)。目前系统支持的元数据格式包括oai_dc(默认)和cas_dc两种,其中,oai_dc格式的元数据是完全开放的,而cas_dc格式的元数据有IP限制,需要授权后获得访问权。

1)接口地址

http://[ IR地址]/casirgrid-oai/request

2)接口参数

a)操作动词(verb),用于指定检索内容的不同操作,支持6种操作。

l      Identify:用于检索有关信息,返回系统的基地址、接口的版本、管理员邮箱、建立时间、是否包含删除信息以及日期参数的格式。

l      ListMetadataFormats:用于检索系统中可获取的元数据格式,可一起使用的参数:identifier

l      ListIdentifiers:用于返回动词ListRecords请求返回信息的头部(headers)信息,包括所有符合参数条件的条目的唯一标识符和建立时间,可一起使用的参数:fromuntilmetadataPrefixset。该动词暂不支持分页检索。

l      ListRecords:用于从系统中获取所有符合参数条件的条目的元数据。不同的元数据格式下,返回记录所包括的信息字段有所不同,详情见附录。可一起使用的参数:fromuntilmetadataPrefixsetresumptionTokenmetadataPrefix在不使用resumptionToken的情况下为必选参数。

l      GetRecord:用于检索和获取系统中指定条目的元数据。必须和参数identifier(指定条目)和metadataPrefix(指定结果记录的元数据格式)一起使用,返回记录的详细信息见附录。

l      ListSets:用于检索系统中所有的集合信息,目前系统返回的是所有的专题(collection)列表。

b) metadataPrefix:当verbListIdentifiersListRecordsGetRecord时,用于指定返回记录的元数据格式,可获取的元数据格式可通过动词ListMetadataFormats请求返回,目前系统支持的元数据格式包括oai_dc(默认)和cas_dc两种。

c)identifier:当verbListMetadataFormatsGetRecord时,用于指定条目的唯一标识符。

d)from:格式为YYYY-MM-DD。当verbListIdentifiersListRecords时,用于指定了返回条目的建立时间的下限。当不使用该参数时,系统默认将时间下限设置为系统建立时间。

e)until:格式为YYYY-MM-DD。当verbListIdentifiersListRecords时,用于指定了返回条目的建立时间的上限。当不使用该参数时,系统默认将时间上限设置为当前时间。

f)set:当verbListIdentifiersListRecords时,用于指定返回目标集合中的条目。目标集合列表可通过ListSets请求返回。

g)resumptionToken:当verbListRecords时,用于分页检索。该参数是独立存在的参数,不能与fromuntilmetadataPrefix同时使用,由于系统设置每次请求最多返回100条记录,当符合参数条件的请求多于100条时,系统会给出一个分页控制标志,将resumptionToken参数设置为这个分页控制标志进行请求后,系统将返回其他的符合参数条件的信息,直到所有信息都被返回。

3)调用实例

下面以中国科学院文献情报中心IR系统为例,说明OAI接口的用法。

a) 获取系统有关信息

http://ir.las.ac.cn/casirgrid-oai/request?verb=Identify

b) 获取系统支持的元数据格式

http://ir.las.ac.cn/casirgrid-oai/request?verb=ListMetadataFormats

c) 获取系统中所有的集合信息

http://ir.las.ac.cn/casirgrid-oai/request?verb=ListSets

d)获取符合条件的条目标识信息

l      指定元数据格式

http://ir.las.ac.cn/casirgrid-oai/request?verb=ListIdentifiers&metadataPrefix=oai_dc

l      指定时间下限

http://ir.las.ac.cn/casirgrid-oai/request?verb=ListIdentifiers&metadataPrefix=oai_dc&from=2013-01-01

l      指定时间上限

http://ir.las.ac.cn/casirgrid-oai/request?verb=ListIdentifiers&metadataPrefix=oai_dc&until=2013-01-01

l      指定目标集合

http://ir.las.ac.cn/casirgrid-oai/request?verb=ListIdentifiers&metadataPrefix=oai_dc&set=hdl_12502_4050

e)获取符合条件的所有条目元数据信息

l      指定元数据格式

http://ir.las.ac.cn/casirgrid-oai/request?verb=ListRecords&metadataPrefix=oai_dc 

l      指定时间下限

http:/ir.las.ac.cn/casirgrid-oai/request?verb=ListRecords&metadataPrefix=oai_dc&from=2013-01-01 

l      指定时间上限

http://ir.las.ac.cn/casirgrid-oai/request?verb=ListRecords&metadataPrefix=oai_dc&until=2013-01-01 

l      指定目标集合

http://ir.las.ac.cn/casirgrid-oai/request?verb=ListRecords&metadataPrefix=oai_dc&set=hdl_12502_4050

l      分页检索(resumptionToken在返回结果的XML报文最后)

http://ir.las.ac.cn/casirgrid-oai/request?verb=ListRecords&resumptionToken=0001-01-01T00:00:00Z/9999-12-31T23:59:59Z//oai_dc/100

f)获取单个条目的元数据信息

http://ir.las.ac.cn/casirgrid-oai/request?verb=GetRecord&metadataPrefix=oai_dc&identifier=oai:ir.las.ac.cn:12502/6686