现在位置:首页 > 机器接口 >  SRU/W

 SRU/W检索接口访问说明


 1、SRU/W基本访问信息

Locator:http://irsr.llas.ac.cn:80/sru

SRU/W版本:1.2

HTTP Transport:GET,POST(SRU)

Result Formats:http://irsr.llas.ac.cn:80/sru/style/searchRetrieveResponse.xsl

 2、SRU/W参数设计规范

检索的功能主要是让用户可以获取远程数据库中的数据,实现过程为:客户端发送一个检索请求(searchRetrieve request)给服务端,服务端检索本地的数据库,并返回检索应答(searchRetrieve response)给客户端。

 2.1、SRU客户端请求格式

主要遵守SRU标准请求格式,包含以下几个基本参数,见表1:

表1 SRU客户端请求格式
参数名称 必备or可选 描述
version 必备 表示客户端支持的版本号,服务器端可以按照客户端的要求发送消息,如果服务器端的版本号高于客户端的版本号,那么服务端将降低版本号,适应客户端的要求。本系统默认为1.1。
query 必备 遵守CQL语法的检索表达式。
opeation 必备 一般为"searchRetrieve".本系统默认为searchRetrieve.
startRecord 可选 说明客户端要求response返回的第一条记录的位置。服务器端有可能检索到若干条记录,用户如果只想取其中的一部分,则可使用该参数,取值应大于0。本系统默认为1。
maximumRecords 可选 说明客户端要求response返回的最大记录数,取值应大于等于0。但应小于服务器端默认的最大记录数。本系统默认为10。
recordPacking 可选 指定命中结果返回的格式,可以是String或是XML。本系统默认为"xml"。
recordSchema 可选 客户端要求返回的记录需要遵循的XML模式。主要用于验证服务器端返回的XML文件的有效性。本系统默认为空。
recordXPath 可选 由recordSchema的参数决定,必须遵守SRU XPath样式表。本系统默认为空。
resultSetTTL 可选 返回结果集被创建的时间,服务器端在应答时可忽略这个请求。本系统默认为300。
sortKeys 可选 指定排序方式,可以对多个字段进行排序。sortKeys由多个sortKey组成,sortKey包括的参数见表2:
stylesheet 可选 返回xml 样式表的URL,一般由服务器端指定。本系统指定为"http://irsr.llas.ac.cn:80/sru/style/searchRetrieveResponse.xsl".
extraRequestData 可选 提供一些其他的信息,一般用于指定要检索的数据表。本系统默认为空。
表2 sortKeys参数说明
名称 类型 是否可选
path xsd:istring 必备项
schema xsd:string 可选项
ascending xsd:boolean 可选项
 
2.2、SRU请求的应答格式

同样遵守SRU请求的标准应答格式,见表3:

表3 SRU请求的应答格式
参数名称 类型 必备or可选 描述
version xsd:string 必备 说明服务器使用的SRW协议的版本。本系统指定为"1.2"。
numberOfRecords xsd:integer 必备 说明命中记录的数量。查询失败时值为0。
resultSetId xsd:string 可选 结果集的唯一标识。每个结果集都有唯一的resultSetId,不论是否有新的查询提交,也不论该结果集是否仍然存在。若修改已有结果集(如对其重新进行排序),则服务器为新的结果集提供新的resultSetId。本系统默认为空。
resultSetIdleTime xsd:integer 可选 服务器端认为结果集能够保留的时间。resultSetIdleTime只能取正数,且应大于用户实际引用结果集的时间。若服务器不让结果集被引用,则应在响应中忽略结果集标识。本系统默认为空。
records sequence of record 可选 返回的记录结果列表。records包含一个或多个record子元素。每个record元素包含一个命中记录或者是一个代表诊断,解释为什么命中记录未被传递。
nextRecordPosition xsd:integer 可选 指下一次返回记录的位置,适应于翻页的情况。
diagnostics sequence of diagnostic 可选 错误信息列表。diagnostics包含一个或多个diagnostic子元素。每个diagnostic表示一种错误诊断消息。
extraResponseData xmlFragment 可选 是扩展 ResponseData,主用来报告searchRetrieveRequest中extraRequestData指定数据表是否存在。
echoedSearchRetrieveRequest echoedSearchRetrieveRequest 可选 要求仍以XML的格式将查询信息返回给请求方。
 
 3、SRU/W接口检索规范

在IRSR中,主要是针对综合资源和科研机构进行查询。其中综合资源可分为软件、资源集、文本集合、数据集、事件、图像/多媒体、交互资源、服务8种类型。

具体查询方法主要有两种:

3.1、提交表单进行查询

查询地址:http://irsr.llas.ac.cn:80/sru

SRU/W表单查询界面

图1 SRU/W表单查询界面

例如:要查名称中含有“nano“的综合资源,

则选择“找综合资源”,下拉菜单选择“名称”,然后输入“nano”,并点击”提交查询“。

3.2、querystring的查询方式

如上例的表单,提交的基本URL如:

http://irsr.llas.ac.cn:80/sru/services?radio=ColA&version=1.1&operation=searchRetrieve &maximumRecords=10&startRecord=1&recordPacking=xml&recordSchema=&recordXPath=&resultSetTTL=300&sortKeys= &stylesheet=style%2FsearchRetrieveResponse.xsl&extraRequestData=&ctype=title&query=nano

以上两种查询方法可得到的请求结果都为一个XML文件,格式如services.xml所示:services.xml

客户端得到XML文件后,可将其解析,得到相应的结果。示例如图2:

records解析示例-资源查询

图2 records解析示例-资源查询

同理,查询科研机构名称中含有"中国科学院"的记录,见图3:

提交的基本URL如下:

http://irsr.llas.ac.cn:80/sru/services?radio=OrgA&version=1.1&operation=searchRetrieve &maximumRecords=10&startRecord=1&recordPacking=xml&recordSchema=&recordXPath=&resultSetTTL=300&sortKeys= &stylesheet=style%2FsearchRetrieveResponse.xsl&extraRequestData=&ctype=title &query=%E4%B8%AD%E5%9B%BD%E7%A7%91%E5%AD%A6%E9%99%A2

records解析示例-机构查询

图3 records解析示例-机构查询




  如果您还有其他问题,请联系我们!

  • 技术负责人:王思丽
  • Email:wangsl@llas.ac.cn
  • 电话:0931-8270076
版权所有 © 2010-2014 中国科学院兰州文献情报中心
地址:甘肃省兰州市天水中路8号  邮政编码:730000