120 likes | 134 Views
This presentation discusses the updates to the SRU protocol, aiming to reduce complexity, improve integration with other protocols, and enhance visibility and understanding. It covers ease of integration with protocols like OAI-PMH, OpenSearch, and OpenURL, as well as additions to response format, sorting, proximity, extensions, diagnostics, and extra term information.
E N D
Key Standards Update: SRU (“Technical” Details) Dr. Robert Sanderson Dept. of Computer Science University of Liverpool azaroth@liv.ac.uk http://www.csc.liv.ac.uk/~azaroth/ http://www.loc.gov/standards/sru/ http://srw.cheshire3.org/ CNI, 4th April 2006 Slide 1
Overview Aims and Motivations Other Protocols: OAI, OpenSearch Response Format Additions Sort Proximity Extensions, Diagnostics CNI, 4th April 2006 Slide 2
Overview Overall aims/goals for the changes towards SRU 1.2 Reduce protocol complexity without losing important features Allow easier/deeper integration with other protocols Correct past mistakes (mea culpa!) Improve visibility, understanding and implementations Escape the “library ghetto” ... Profit! CNI, 4th April 2006 Slide 3
Ease of Integration • Other protocols to interoperate with: • Open Archives Initiative (OAI-PMH) • OpenSearch • OpenURL • “Web 2.0” / “Library 2.0” enabling techniques • (Should change name to “OpenSRU 2.0” ??) CNI, 4th April 2006 Slide 4
Ease of Integration: OAI Formalize a profile to allow OAI to be implemented over SRU rec.identifier Search by identifier rec.lastModificationDate Search by modification time rec.collectionIdentifier Search by 'set' Plus extension to allow OAI header information to be returned (record is in which sets, etc) CNI, 4th April 2006 Slide 5
Ease of Integration: OpenSearch SRU compatible profile of OpenSearch OpenSearch allows the server to pick the names of parameters ... Pick names that match SRU's parameters Allow query extensions to build CQL from OpenSearch's parameters. x-dc-title=Lord of the Rings&x-dc-creator=Tolkien Unaware SRU and OS servers will just ignore. CNI, 4th April 2006 Slide 6
Response Format Additions Allow record Identifier (metadata level) to be returned in the record structure Allow the full base URL to be returned in the response (within echoedRequest) <record> <recordSchema>info:srw/schema/1/dc-v1.1</recordSchema> <recordPacking>xml</recordPacking> <recordIdentifier>info:pmid/15411833</recordIdentifier> <recordData> ... </recordData> </record> <echoedRequest> <baseUrl>http://srw.cheshire3.org/services/spy</baseUrl> <version>1.2</version> ... </echoedRequest> CNI, 4th April 2006 Slide 7
Sort Sort has been a bugbear since version 1.0 Extend CQL to include sorting specification Allow use of indexes with modifiers to specify semantics (Previously XPath expressions) CQL parsers can be used to parse both, reducing workload (assuming that an existing CQL parser is used) Enhances independence of CQL as query languageExample: dc.title any fish sortBy dc.date/ascending dc.creator CNI, 4th April 2006 Slide 8
Proximity One of the most complicated parts of SRU/CQL No easy solution, but some improvements... Recommendations for how to extend proximity modifiers -- Use a new context set for modifiers Explainable server defaults for proximity modifiers Improved documentation Agreement to not agree on anything further until the OASIS Technical Committee to include other interested parties CNI, 4th April 2006 Slide 9
Extensions, Diagnostics • Issue: Number of matching records may be unknown or approximate, no way to notify this condition • New diagnostics: • Number of records approximate • Number of records truncated • Request Extension: • Approximate record count is acceptable CNI, 4th April 2006 Slide 10
Extra Term Information Issue: Desirable to return sub-query level details Eg: How many records matched in one part of the query Details to return need to be extensible Solution: Add extraTermInfo into the XCQL representation to be returned in the response Some general extensions will be defined, but allows implementors to include any information they think appropriate Needs a parameter to request that the details be returned (like all SRU extensions) CNI, 4th April 2006 Slide 11
Thank you! • Questions? CNI, 4th April 2006 Slide 12