Related Standards

The SRU protocol operates within the context of a multitude of other standards. The communication and data formats mentioned above are the basic building blocks of the protocol, but many other information standards affect the protocol's operation and implementation. Given that the whole purpose of the protocol is to facilitate connections between information sources and users, it is not surprising that the protocol has connections to a myriad of other standards. This section describes a few of the relevant standards.

Contextual Query Language (CQL)

Any discussion of SRU is incomplete without the inclusion of CQL, the query language used by SRU. CQL attempts to fill the gap between powerful query languages with a steep learning curve such as SQL or XQuery and the intuitive interfaces such as those Google and other search engines provide.

In its simplest form, a CQL query can be a term search with no other syntax. The responding service will provide a response based on the configured default index. In this manner, it achieves the simplicity and ease of use associated with popular search engines. More complex searches can be built by defining the index to be searched, the relationship between the index and the search term, Boolean and proximity relationships and modifiers as well as sorting modifiers. Taylor (2003) provides "A Gentle Introduction to CQL" which provides examples and details on the use of the language which are more accessible than the official documentation hosted as part of the Library of Congress' official SRU site. The final search example provided by Taylor demonstrates the power of the language:* or Ritchie) and (bath.title exact "the c programming language" or dc.title=elements prox///4 dc.title=programming) and subject any/relevant "style design analysis". Assuming the SRU server supports all of the features and context sets used in the query, it would find records whose author includes either a word beginning with kern or the word ritchie, which have either the exact title "the c programming language" or a title containing the words elements and programming within four words of each other, and whose subject is related to at least one of the words style, design or analysis.

That search example also demonstrates why the name of the query language was changed from common to contextual. The use of bath.title and dc.title are examples of placing search terms within a specific context. These contexts define how searches will be interpreted. In the example search, the dc context refers to the Dublin Core contextual set, while bath refers to the Bath Profile which has developed for bibliographic searches using Z39.50. Other context sets are listed on the SRU web site at the Library of Congress. While many are connected to bibliographic data sets, some are not. The Music Context Set extends the existing Dublin Core and Bath sets to add music-specific contexts such as arranger, performer and instrumentation. Other context sets exist for such diverse applications as network information in the Network Context Set or card-based games in the Collectable Card Games Context Sets.

XML Schema

Records may also be provided in a number of different ways. Unlike Z39.50, SRU has standardized data interchange using XML. In itself, XML only defines a method of encoding data without specifying fields or the rules for how those fields will be populated. The record schemas listed on the Library of Congress web site are published and available for use. However, new schemas can be developed and published for local or public use. This extensibility is one of the many advantages the use of XML brings to the SRU protocol.

The web site currently lists twenty-four schema, including the Metadata Object Description Schema (MODS), MARCXML, and Dublin Core. In addition, Denenberg from the Library of Congress has authored an Internet Draft that includes schema for MODS, Metadata Authority Description Schema (MADS), Metadata Encoding and Transmission Standard (METS), MARCXML and the SRU response schema as media types for use in Internet communications (Denenberg, 2009a).

Version 1.2 of the SRU protocol replaced the explain schema used previously with NISO Z39.92 Information Retrieval Service Description Specification. That specification also references Z39.91 Collection Description Specification. An understanding of the concepts embodied in these specifications is necessary for the effective implementation of the explain operation. Replication of the contents of those specifications within this document is not warranted, as they mainly present the structure and model for collection and service descriptions.

Other Standards

As mentioned above, examples of the interaction between SRU and other metadata standards such as OAI-PMH (Sanderson, LeVan, & Young, 2005) and unAPI (Binkley, 2009; Chudnov et al., 2006) are already being presented within the literature. As SRU gains more widespread acceptance and use, the author expects the number of interactions to increase, both in terms of number of implementations and number of different standards involved.

Previous: Software Applications Next: Project Details