CISTI SRU API
From CISTI-ICIST LAB WIKI
The CISTI SRU API is intended to be used by 3rd party applications that wish to query CISTI's article-level metadata. The API provides access to the same article-level data used for CISTI Discover - via the SRU standard.
Contents |
Conformance
The API attempts to conform to the SRU standard provided by the Library of Congress, but due to some unavoidable limitations it does not fully implement all of the required conformance parameters. Work will be ongoing to improve conformance.
Constructing Requests
To access the CISTI SRU API, developers should use the base-URL: http://lab.cisti-icist.nrc-cnrc.gc.ca/sru/
By default, calling the base-URL of the SRU API returns an Explain record. The Explain record for an SRU server is an XML document that explains features, defaults, etc. It may be used by a client to self-configure and allow it to fully inter-operate with the server.
To perform metadata queries a searchRetrieve request is executed, like:
http://lab.cisti-icist.nrc-cnrc.gc.ca/sru/?query=meteor&operation=searchRetrieve
To restrict the number of records, the maximumRecords parameter may be applied, like:
http://lab.cisti-icist.nrc-cnrc.gc.ca/sru/?query=meteor&operation=searchRetrieve&maximumRecords=4
To specify the starting record to be returned, the startRecord parameter may be applied:
Standard CQL may be added to the query parameter to enhance the search, for example, to return records where meteor is in the title only, execute:
http://lab.cisti-icist.nrc-cnrc.gc.ca/sru/?query=title=meteor&operation=searchRetrieve
The API currently does not currently support the ability to select different metadata schemas via the recordSchema parameter. All records are returned using MODS Version 3.1.
Selecting data sources
For this implementation of CISTI's SRU API, two different data sources can be accessed - ARTICLES and SERIALS. The desired datasource is requested using the optional x-database parameter in the request as follows:
x-database=ARTICLES (provides article data from CISTI's publisher metadata): http://lab.cisti-icist.nrc-cnrc.gc.ca/sru/?query=meteor&x-database=ARTICLES&operation=searchRetrieve
x-database=SERIALS (provides article data provided from a 3rd party metadata vendor): http://lab.cisti-icist.nrc-cnrc.gc.ca/sru/?query=meteor&x-database=SERIALS&operation=searchRetrieve
It is anticipated that in the future these two datasets will be merged into one single database - and the need to specify the specific datasource in the SRU query will be eliminated.
If the x-database parameter is omitted, the API will return results from the ARTICLES database by default.
Disclaimers
The API has been exposed for the use of any developer that would like to integrate it with their applications. However, due to its experimental nature CISTI cannot guarantee its reliability, accuracy or continued future availability.
