Search/Retrieve web services

From refbase

Revision as of 16:04, 7 January 2006; view current revision
←Older revision | Newer revision→

refbase >v0.8.0 supports the SRU (Search/Retrieve via URL) standard search protocol for Internet search queries. SRU utilizes CQL (Common Query Language), a standard query syntax for representing queries. Both standards are developed by the Library of Congress and provide a generic API for searching a data repository and a mechanism for returning metadata records.

SRU defines a web service for searching databases. SRU is a companion protocol of SRW which is a SOAP version of the protocol. SRU can be regarded as a RESTful version of SRW, since all the requests are simple URLs instead of XML documents being sent via some sort of transport layer.

SRU defines three basic operations: explain, scan and searchRetrieve which define the requests and responses in an SRU interaction. Some simple examples are presented here.

Currently, the refbase SRU server (sru.php) supports explain and searchRetrieve operations (but not scan) and returns records as MODS XML wrapped into SRW XML. See the SRU web site for a description of the elements of a searchRetrieve response. The refbase SRU server allows to query all global refbase fields (from the refs MySQL table) - the given index name must either match one of the 'set.index' names listed in the explain response (sru.php?operation=explain) or match a refbase field name directly. If no index name is given the serial field will be searched by default.

The refbase SRU server can be used as a remote back-end database for the CiteProc processor of the XBib project. CiteProc is a comprehensive solution for bibliographic and citation formatting. See this page for a usage example that shows how to integrate refbase with CiteProc.