The Bath Profile for SRW, version 2.0

6th January 2004

$Id: index.html,v 1.4 2004/01/12 17:34:50 mike Exp $

1. Introduction
2. The Bath Context Set
3. Expressing Bath Queries in CQL
        3.1. Access Points
        3.2. Relations, Wildcarding and Anchoring
4. Retrieval

1. Introduction

The Bath Profile is an ISO Internationally Registered Profile (IRP) of the Z39.50 Information Retrieval Protocol, intended as a basis for effective interoperability between library and cross-domain applications. It is widely implemented, and generally seen as the best basis for interoperability between independently built bibliographic Z39.50 clients and servers.

SRW (Search/Retrieve Web Service) is a new HTTP-based information retrieval protocol providing broadly the same facilities as Z39.50, but by means of very different technology.

CQL (Common Query Language) is a new query language, human-readable and writable but rigorous enough to be used as the protocol-level search syntax for SRW.

In order to promote interoperability between bibliographic clients and servers using SRW, it is necessary to provide specifications for expressing the Bath Profile's queries and returning bibliographic records. This is widely seen as a prerequisite for the widespread adoption of SRW in the library community.

This document describes version 2.0 of the Bath Profile for SRW, since it corresponds to version 2.0 of the Bath Profile for Z39.50. Its unique identifier is the URI http://zing.z3950.org/srw/bath/2.0/

2. The Bath Context Set

The Bath Context Set is uniquely identified by the URI http://zing.z3950.org/cql/bath/2.0/

The conventional prefix for use with the Bath Context Set is bath. Therefore, Bath queries may begin with the following CQL prefix-mapping:

>bath="http://zing.z3950.org/cql/bath/2.0/"

The Bath Context Set contains the indexes listed in the following table, for expressing queries corresponding to the current version (2.0) of the Bath Profile:

Name Description
keyTitle See Bath Profile section 5.A.2.1-5
possessingInstitution See Bath Profile section 5.A.2.10
name See Bath Profile section 5.D.1.1-4
personalName See Bath Profile section 5.D.2.1-4
corporateName See Bath Profile section 5.D.2.5-8
conferenceName See Bath Profile section 5.D.2.9-12
uniformTitle See Bath Profile section 5.D.2.13-17
issn See Bath Profile section 5.D.2.18
geographicName See Bath Profile section 5.D.2.20-23
notes See Bath Profile section 5.D.2.27-28
topicalSubject See Bath Profile section 5.D.2.31-35
genreForm See Bath Profile section 5.D.2.36-40

3. Expressing Bath Queries in CQL

3.1. Access Points

The list of indexes in the Bath Context Set does not include indexes corresponding to the Bath access points Author, Title, Subject, Any, Standard Identifier, Date of Publication, Format/Type of Material and Language. This is because Bath queries in CQL use existing indexes defined in the CQL, Record Metadata (Rec) and Dublin Core (DC) context sets for these concepts, just as they use the relations supplied by other sets for =, <, <=, >=, >, exact and within. So Bath queries will in general use a mixture of indexes from the CQL, DC and Bath context sets.

Although the Bath profile lists some 96 separate searches that may be supported at various functional levels, only 21 different access points are used, together with various combinations of relation, wildcarding, anchoring, etc. The following table shows which CQL indexes are used for each of them, and which context sets they are drawn from.

Access Point Context Set Index
Author, including Creator DC creator
Title DC title
Subject DC subject
Any CQL anywhere
Standard Identifier DC identifier
Date of Publication, including Date of Publication Range DC date
Key Title Bath keyTitle
Format/Type of Material DC format
Language DC language
Possessing Institution Bath possessingInstitution
Name Bath name
Personal Name Bath personalName
Corporate Name Bath corporateName
Conference Name Bath conferenceName
Uniform Title Bath uniformTitle
ISSN Bath issn
Remote System Record Number Rec id
Geographic Name Bath geographicName
Notes Bath notes
Topical Subject Bath topicalSubject
Genre/form Subject Bath genreForm
Note. Although the Bath profile includes separate sections on Author and Creator searches - for example, 5.A.0.1. Author Search - Keyword and 5.C.0.1. Creator Search - Keyword - there is no operational difference between these, as it defines both to use the same set of BIB-1 attributes (1=1003, 2=3, 3=3, 4=2, 5=100, 6=1). In the same way, Date of Publication Range in the Bath Profile uses the same access point as Date of Publication, but with a different relation (within).
Note. The Bath profile provides a specific ISSN identifier search for uniform title authority records (section 5.D.2.18). However for bibliographic and cross domain searching, the Standard Identifier access point is used for ISSN, ISBNs, ISMNs, LCCNs, etc.

3.2. Relations, Wildcarding and Anchoring

The relation, wildcarding and anchoring to be used for each of the searches listed in the Bath Profile are determined by consulting the title of the section describing the search. Most searches have titles in which the access-point is followed by a dash and then a descriptive clause such as ``keyword'', ``exact match'' or ``first words in field''.

The rules are:

Note. The name of the search described by section 5.A.2.7 of the Bath Profile (Format/Type of Material Search - Phrase) appears to be a mistake, since it uses the same relation etc. as the ``First Words in Field'' searches. The section should probably be titled ``Format/Type of Material Search - First Words in Field''.

The final wrinkle is that Date of Publication searches (and only these) may be formulated using the <, <=, >=, > and within relations as well as =.

4. Retrieval

Bath-compliant SRW servers should support retrieval using at least the following schemas:

Feedback to <mike@indexdata.com> is welcome!