searchRetrieve: Part 0. Overview Version 1.0

Committee Specification Draft 01

08 December 2011

Specification URIs

This version:

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part0-overview/searchRetrieve-v1.0-csd01-part0-overview.doc (Authoritative)

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part0-overview/searchRetrieve-v1.0-csd01-part0-overview.html

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part0-overview/searchRetrieve-v1.0-csd01-part0-overview.pdf

Previous version:

N/A

Latest version:

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/searchRetrieve-v1.0-part0-overview.doc (Authoritative)

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/searchRetrieve-v1.0-part0-overview.html

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/searchRetrieve-v1.0-part0-overview.pdf

Technical Committee:

OASIS Search Web Services TC

Chairs:

Ray Denenberg (rden@loc.gov), Library of Congress

Matthew Dovey (m.dovey@jisc.ac.uk), JISC Executive, University of Bristol

Editors:

Ray Denenberg (rden@loc.gov), Library of Congress

Larry Dixson (ldix@loc.gov), Library of Congress

Ralph Levan (levan@oclc.org), OCLC

Janifer Gatenby (Janifer.Gatenby@oclc.org), OCLC

Tony Hammond (t.hammond@nature.com), Nature Publishing Group

Matthew Dovey (m.dovey@jisc.ac.uk), JISC Executive, University of Bristol

Additional artifacts:

This prose specification is one component of a Work Product which also includes:

·         XML schemas: http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/schemas/

·         searchRetrieve: Part 0. Overview Version 1.0. (this document)
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part0-overview/searchRetrieve-v1.0-csd01-part0-overview.html

·         searchRetrieve: Part 1. Abstract Protocol Definition Version 1.0.
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part1-apd/searchRetrieve-v1.0-csd01-part1-apd.html

·         searchRetrieve: Part 2. searchRetrieve Operation: APD Binding for SRU 1.2 Version 1.0. http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part2-sru1.2/searchRetrieve-v1.0-csd01-part2-sru1.2.html

·         searchRetrieve: Part 3. searchRetrieve Operation: APD Binding for SRU 2.0 Version 1.0. http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part3-sru2.0/searchRetrieve-v1.0-csd01-part3-sru2.0.html

·         searchRetrieve: Part 4. APD Binding for OpenSearch Version 1.0.
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part4-opensearch/searchRetrieve-v1.0-csd01-part4-opensearch.html

·         searchRetrieve: Part 5. CQL: The Contextual Query Language Version 1.0.
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part5-cql/searchRetrieve-v1.0-csd01-part5-cql.html

·         searchRetrieve: Part 6. SRU Scan Operation Version 1.0. http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part6-scan/searchRetrieve-v1.0-csd01-part6-scan.html

·         searchRetrieve: Part 7. SRU Explain Operation Version 1.0.
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part7-explain/searchRetrieve-v1.0-csd01-part7-explain.html

Declared XML namespaces:

·         http://docs.oasis-open.org/ns/search-ws/diagnostic

·         http://docs.oasis-open.org/ns/search-ws/facetedResults

·         http://docs.oasis-open.org/ns/search-ws/scan

·         http://docs.oasis-open.org/ns/search-ws/searchResultAnalysis

·         http://docs.oasis-open.org/ns/search-ws/soap

·         http://docs.oasis-open.org/ns/search-ws/sruRequest

·         http://docs.oasis-open.org/ns/search-ws/sruResponse

·         http://docs.oasis-open.org/ns/search-ws/xcql

Abstract:

This is one of a set of documents for the OASIS Search Web Services (SWS) initiative. This document is the Overview and serves to introduce the full collection of documents.

Status:

This document was last revised or approved by the OASIS Search Web Services TC on the above date. The level of approval is also listed above. Check the “Latest version” location noted above for possible later revisions of this document.

Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “Send A Comment” button on the Technical Committee’s web page at http://www.oasis-open.org/committees/search-ws/.

For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (http://www.oasis-open.org/committees/search-ws/ipr.php).

Citation format:

When referencing this specification the following citation format should be used:

[SearchRetrievePt0]

searchRetrieve: Part 0. Overview Version 1.0. 08 December 2011. OASIS Committee Specification Draft 01. http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part0-overview/searchRetrieve-v1.0-csd01-part0-overview.html.

 

Notices

Copyright © OASIS Open 2011. All Rights Reserved.

All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.

OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.

OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.

The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see http://www.oasis-open.org/who/trademark.php for above guidance.

 

Table of Contents

1        Introduction. 5

1.1 Terminology. 5

1.2 Normative References. 5

1.3 Namespace. 6

1.4 Schemas. 6

2        Rationale. 8

3        SWS documents: Roles and Relationships. 9

3.1 Abstract Protocol Definition. 9

3.2 OpenSearch. 9

3.3 SRU. 9

3.3.1 SRU1.2. 9

3.3.2 SRU2.0. 10

3.4 Other protocols and bindings. 10

Appendix A.       Acknowledgements. 11

 

 


1      Introduction

This is one of a set of documents for the OASIS Search Web Services (SWS) initiative.

This document is the Overview and serves to introduce the full collection of documents.

The documents in the collection of specifications are:

1.    Overview

2.    APD

3.     SRU1.2

4.     SRU2.0

5.     OpenSearch

6.    CQL

7.    Scan

8.    Explain

1.1 Terminology

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC2119].

1.2 Normative References

The following list of references applies to all of the documents in this collection.

1.3 Namespace

XML namespaces used in this standard, and their prefixes:

Prefix

Namespace

sruRequest

http://docs.oasis-open.org/ns/search-ws/sruRequest

diag

http://docs.oasis-open.org/ns/search-ws/diagnostic

facet

http://docs.oasis-open.org/ns/search-ws/facetedResults

scan

http://docs.oasis-open.org/ns/search-ws/scan

sra

http://docs.oasis-open.org/ns/search-ws/searchResultAnalysis

sruResponse

http://docs.oasis-open.org/ns/search-ws/sruResponse

xcql

http://docs.oasis-open.org/ns/search-ws/xcql

sru-soap    

http://docs.oasis-open.org/ns/search-ws/soap

1.4 Schemas

XML Schemas used in this standard:

Schema

Used for

URL

1

SRU

The default format for an SRU response.

http://docs.oasis-open.org/search-ws/ searchRetrieve/v1.0/csd01/schemas/

sruResponse.xsd

2

Diagnostics

The format for presentation of a diagnostic within an SRU or Scan response.

http://docs.oasis-open.org/search-ws/ searchRetrieve/v1.0/csd01/schemas/

diagnostic.xsd

3

Explain

Explain for SRU 2.0.

http://docs.oasis-open.org/search-ws/ searchRetrieve/v1.0/csd01/schemas/explain.xsd

4

Faceted Search Results

The format for presentation of faceted results within an SRU 2.0 response.

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/schemas/ facetedResults.xsd

 

5

Search Result AnalysIs

The format for presentation of search result analysis within an SRU 2.0 response.

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/schemas/ searchResultAnalysis.xsd

6

XCQL

CQL expressed in  XML, used to echo a query in a search/ retrieve response.  It is not used in search/ retrieve requests.  

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/schemas/xcql.xsd

7

Scan

The format for a Scan response.

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/schemas/scan.xsd

8

SOAP Support

Used for the SRU binding to SOAP.

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/schemas/sru-wsdl11.wsdl

 

and

 

http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/schemas/sruRequest.xsd

 

 

2      Rationale

The OASIS Search Web Services (SWS) initiative defines a generic protocol for the interaction required between a client and server for performing searches. SWS defines an Abstract Protocol Definition (APD searchRetrieve Part 1) to describe this interaction. All search protocols can be regarded as concrete implementations of this definition. The Abstract Protocol Definition facilitates interoperability between different search protocols by providing a common framework and terminology for describing search protocols.

The APD is a simplification and revision of the abstract model for search and retrieval contained within the NISO Z39.50 standard.

The APD defines the following abstract models:

 

  1. Data Model – an abstract model describing the data upon which the search is to be performed
  2. Query Model – an abstract model describing how the search query is constructed
  3. Processing Model – an abstract model describing how the query is sent from the client to the server
  4. Result Set Model – an abstract model describing the structure for the results returned by the search
  5. Diagnostics Model – an abstract model for how errors are communicated by the server to the client
  6. Description and Discovery Model – an abstract model for how the search service may be discovered and to enable self-description of the functionality of the service

 

The Processing Model presumes a client-server model where the client and server communicate via a searchRetrieve protocol which incorporates a query language. In this model a client sends a searchRetrieve request to a server, which processes the request and responds with a searchRetrieve request. The APD defines abstract request parameters and abstract response elements. Part of the request parameters include a search query as defined in the Query Model. Part of the response parameters include the results generated from the Data Model and represented in the response according to the Result Set Model. The Response may also include error handling information according to the Diagnostics Model. In addition, a client may query the capabilities of the server via the Description and Discovery Model (in terms of available data sets which can be queries, available Result Set Models in cases where a server supports multiple formats for returning results, available query languages where a server support multiple Query Models etc.)

 

The APD serves as a guideline for the development of application protocol bindings . A binding indicates the corresponding actual names of the parameters and elements to be transmitted in a request or response. The SWS document collection includes bindings for SRU1.2, SRU2.0 and  OpenSearch

 

 

 

 

3      SWS documents: Roles and Relationships

3.1 Abstract Protocol Definition

The core of the SWS document collection is the Abstract Protocol Definition (APD). The APD is described in:

APD

searchRetrieve: Part 1. Abstract Protocol Definition Version 1.0
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part1-apd/searchRetrieve-v1.0-csd01-part1-apd.doc

 

The remaining documents describe three bindings of the APD: SRU1.2, SRU2.0, and OpenSearch.

3.2 OpenSearch

The OpenSearch binding is intended to be fully compatible with http://www.opensearch.org/Specifications/OpenSearch/1.1/Draft_5

The OpenSearch binding is described in:

OpenSearch
searchRetrieve: Part 4. APD Binding for OpenSearch 1.0  version 1.0
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part4-openSearch1.0/searchRetrieve-v1.0-csd01-part4-openSearch.doc

3.3 SRU

SRU (SRU: Search/Retrieve via URL) is a web service protocol supported over both SOAP and REST for client-server based search. SRU1.x was developed as a web service replacement for the NISO Z39.50 protocol. SRU2.0 is a revision to SRU which as well as including many enhancements to SRU1.2 was developed alongside the APD.

For the SRU protocol model, three operations are defined as part of its Processing Model:

  1. SearchRetrieve Operation. The actual SearchRetrieve operation defined by the SRU protocol; A SearchRetrieve operation consists of a SearchRetrieve request from client to server followed by a SearchRetrieve response from server to client.
  2. Scan Operation. Similar to SRU, the Scan protocol  defines a request message and a response message for iterating through available search terms. a Scan operation consists of a Scan request followed by a Scan response.
  3. Explain Operation. . Every SRU or scan server provides an associated Explain document as part of its Description and Discovery Model, providing information about the server’s capabilities. A client may retrieve this document and use the information to self-configure and provide an appropriate interface to the user. When a client retrieves an Explain document, this constitutes an Explain operation.

3.3.1 SRU1.2

The SRU1.2 binding is the specification of the protocol SRU: Search/Retrieve via URL,  and is intended to be compatible with the specification at http://www.loc.gov/standards/sru/specs/.

The base SRU1.2 binding is defined in:

SRU1.2
searchRetrieve: Part 2. SRU searchRetrieve Operation: APD Binding for SRU 1.2 Version 1.0
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part2-sru1.2/searchRetrieve-v1.0-csd01-part2-sru1.2.doc

As part of its processing model, SRU1.2 supported the ability to iterate through search terms using the Scan operation which is defined in:

Scan
searchRetrieve: Part 6.  SRU Scan Operation version 1.0
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part6-scan/searchRetrieve-v1.0-csd01-part6-scan.doc

The SRU1.2 Query Model is defined to be the Contextual Query Language and is defined in:

CQL
searchRetrieve: Part 5.  CQL: The Contextual Query Language  version 1.0
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part5-cql/searchRetrieve-v1.0-csd01-part5-cql.doc

The SRU2.0 Discovery and Description Model is implemented via the Explain Operation which is defined in:

Explain
searchRetrieve: Part 7. SRU Explain Operation version 1.0
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part7-explain/searchRetrieve-v1.0-csd01-part7-explain.doc

3.3.2 SRU2.0

SRU2.0 is a revised specification of the SRU protocol, includes many enhancements to SRU1.2 that  SRU developers have requested. The base SRU2.0 binding is defined in:

SRU2.0
searchRetrieve: Part 2. SRU searchRetrieve Operation: APD Binding for SRU 1.2 Version 1.0
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part2-sru1.2/searchRetrieve-v1.0-csd01-part2-sru1.2.doc

As part of its processing model, SRU2.0 supported the ability to iterate through search terms using the Scan operation which is defined in:

Scan
searchRetrieve: Part 6.  SRU Scan Operation version 1.0
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part6-scan/searchRetrieve-v1.0-csd01-part6-scan.doc

The SRU2.0 Query Model is defined to be the Contextual Query Language and is defined in:

CQL
searchRetrieve: Part 5.  CQL: The Contextual Query Language  version 1.0
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part5-cql/searchRetrieve-v1.0-csd01-part5-cql.doc

The SRU2.0 Discovery and Description Model is implemented via the Explain Operation which is defined in:

Explain
searchRetrieve: Part 7. SRU Explain Operation version 1.0
http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/csd01/part7-explain/searchRetrieve-v1.0-csd01-part7-explain.doc

3.4 Other protocols and bindings

Other protocols for search can be described in terms of the APD.

Both the Explain and CQL, whilst mandatory components of SRU, are defined to be usable independently of SRU by other protocols and bindings.

Appendix A. Acknowledgements

The following individuals were members of the OASIS SWS TC at the time of publication of this standard:

 

Ray Denenberg, Library of Congress
Larry Dixson, Library of Congress

Ralph LeVan, OCLC

Janifer Gatenby, OCLC
Tony Hammond, Nature Publishing

Matthew Dovey, JISC Executive, University of Bristol