160 likes | 284 Vues
Join Ralph LeVan in this in-depth tutorial from the WorldCat Hackathon at the New York Public Library on November 7, 2008. This session covers the essentials of using the RESTful API for search and retrieval, including how to structure queries using CQL (Common Query Language) and the significance of Explain records. Learn about various query parameters, response formats, and search capabilities essential for leveraging the vast resources of WorldCat. Ideal for developers and librarians looking to integrate these tools into their systems.
E N D
How To: SRU Ralph LeVan Senior Research Scientist, OCLC levan@oclc.org WorldCat Hackathon New York Public LIbrary 7 November 2008
The Basics • REST-ful API for Search and Retrieve • CQL – A rich, standardized query grammar • Self-describing service through Explain records
REST-ful API for Search and Retrieve • Base URL: http://worldcat.org/identities/search/Identities • Querystring: query=local.Name+all+%22ralph+levan%22 • Important Optional Parms: • startRecord • maximumRecords • recordSchema
REST-ful API for Search and Retrieve • Untrustworthy Optional Parms: • sortKeys
REST-ful API for Search and Retrieve • Amusing Parms: • recordPacking
REST-ful API for Search and Retrieve • Omittable Mandatory Parms: • version • operation
CQL • Standard Boolean operations • Search Terms: [Index relation] quotedString • query=dog • query=cql.any exact “moby dick” • Indexes defined by server • Standard relations: • exact, =, all, any
searchRetrieveResponse • <?xml version="1.0" ?> • <?xml-stylesheet type="text/xsl" href="/identities/NameFinderResponse.xsl"?> • <searchRetrieveResponse xmlns="http://www.loc.gov/zing/srw/">
searchRetrieveResponse elements • <version>1.1</version> • <numberOfRecords>3</numberOfRecords> • <resultSetId>6dsxzt</resultSetId> • <resultSetIdleTime>300</resultSetIdleTime> • <records><record></record>...</records> • <echoedSearchRetrieveRequest>... • <diagnostics>... • <extraResponseData>...
record elements • <recordSchema> • info:srw/schema/1/Identities</recordSchema> • <recordPacking>xml</recordPacking> • <recordData>... • <recordPosition>1</recordPosition>
Explain • <explainResponse xmlns="http://www.loc.gov/zing/srw/"> • <version>1.1</version> • <record> • <recordSchema> • http://explain.z3950.org/dtd/2.0/</recordSchema> • <recordPacking>xml</recordPacking> • <SRW:recordData>
Explain Record • <explain authoritative="true" xmlns="http://explain.z3950.org/dtd/2.0/"> • <serverInfo protocol="SRW/U">… • <databaseInfo>… • <indexInfo>… • <schemaInfo>… • <configInfo>…
indexInfo • <set identifier="http://staff.oclc.org/~levan/localContextSets/Identities" name="local"/> • <index> • <title>local.BirthDate</title> • <map> • <name set="local">BirthDate</name> • </map> • <configInfo> • <supports type='relation'>any</supports> • </configInfo> • </index>
schemaInfo • <schema sort="false" retrieve="true" name="Identities" • identifier="info:srw/schema/1/Identities” • location="http://www.oclc.org/standards/Identities/schema/Identities.xsd"> • <title>Identities records in their native format</title> • </schema>
configInfo • <default type="maximumRecords">250</default> • <default type="numberOfRecords">10</default> • <default type="retrieveSchema"> • info:srw/schema/1/Identities</default>
Links • http://www.loc.gov/standards/sru/