Use of Z39.50 to access distributed union catalogues Discussion Paper


J. Zeeman, CGI Ottawa
F. Turner, NLC

2 April 1997

Operational Model

A distributed union catalogue is envisaged as a network of bibliographic systems that cooperate to enable their users to discover sites that hold copies of known items. Some of the participating systems will be traditional union catalogues; others will be single sites with comprehensive collections; others will be local or regional resource sharing systems. These systems are presumed to have resource sharing arrangements, which may be formal or informal.

Typically a user of the distributed union catalogue will approach it with a known item for which locations are required in order to initiate an inter-library loan request or a personal visit to obtain the item. The focus of the system is therefore on searches for known items, normally via a control number such as an ISBN or LCCN or via name and/or title. The ultimate retrieval goal is not primarily bibliographic information, but rather location, and if possible, availability information. Bibliographic information is used primarily to verify that retrieved items are in fact those sought for.

A principal goal of the distributed union catalogue is therefore to allow the user to obtain a useful number of locations for an item with a minimal number of searches. It is not seen to be a goal to enable the user to discover a comprehensive set of locations, merely a sufficient number to allow the user a good chance of being able to obtain the item through inter-library loan processes.

Transfer of holdings

The retrieval of location information is therefore central to the distributed union catalogue. Unfortunately, the standard vehicle for transferring catalogue records, the MARC record, raises a number of issues in using Z39.50 for transferring location information. The USMARC manuals define separate formats for bibliographic information and holdings information. Under some circumstances fields defined for holdings are permitted to be embedded within a MARC bibliographic record, but when there is any level of complexity of description, as, for instance, in enumerating serial holdings for multiple copies, holdings information must be placed in separate holdings records that are linked with a bibliographic record.

The bibliographic record contains one field, 850, that can be used to carry identifiers of institutions that hold the item. No other information is carried in this field. This field, which is repeatable in the bibliographic record, can be used to carry hundred or even thousands of locations if required. While this basic location information is often adequate to enable monographs to be borrowed on inter-library loan, it does not provide a mechanism for carrying local call numbers or availability information, and cannot be used to give information about number of copies held, or details of serial holdings.

The MARC holdings format specifies a number of fields to contain holdings information. The 852 field can be used to give information about the location of a single copy (or multiple copies shelved together) of an item at a single location. It can be used to carry a summary description of holdings for each copy. The 852 field is one of those that may also be embedded in a bibliographic record, and repeats of the field can be used to give information about copies at multiple locations.

The greatest amount of detail is provided by the use of multiple related fields in the ranges 853-855, 863-866, 873-876. Multiple instances of these fields are intended to be used to describe in detail holdings of a single copy of an item, and therefore relate to a single instance of an 852 field. Each grouping of an 852 and multiple related 853-876 fields can be seen as a holdings subrecord. However, US- and CanMARC do not support subrecords, so the holdings format explicitly permits only a single grouping of 852 + 853-876 to be embedded in a bibliographic record. (it should be noted that other MARC formats, notably UNIMARC, do support subrecords). The MARC Manuals therefore specify that only a single "cluster" of 852 with multiple detailed holdings fields may be embedded in a MARC record. Otherwise, the holding must be handled as separate holdings records.

The most detailed holdings for other than a single copy can therefore be transferred only as a cluster of records: a MARC bibliographic record plus multiple linked MARC holdings records. Unfortunately, Z39.50 cannot directly return a cluster of separate records: if a search on a bibliographic access point retrieves 10 records, then only 10 records can be returned, not 10 bibliographic records, plus a cluster of 5 additional holdings records associated with each bibliographic record.

Approaches

Locally defined fields

A number of systems have avoided the problem by delivering holdings information, whether for a single catalogue or for a union catalogue, in server defined fields of a MARC bibliographic record. Both RLIN and OCLC have taken this approach. This, however, requires union catalogue participants to be aware of field definitions that are meaningful to a single (vendor's) system, and requires additional development effort on the part of the client implementor for each server that is accessed. It therefore impedes interoperability and encourages multiple incompatible closed groups of union catalogue systems.

Virtual Canadian Union Catalogue

In an attempt to overcome this problem, in July 1995 the National Library of Canada proposed, for its Virtual Canadian Union Catalogue project, a mechanism that could be used to support multiple holdings subrecords within a MARC bibliographic record. This involved the addition of a $9 subfield to explicitly link details fields with the 852 describing the copy. This solution is however not fully satisfactory since it introduces a private extension to the semantics of the existing MARC formats, one that a number of vendors are unable or unwilling to support.

Multiple Searches

A third approach is to use multiple searches to implement the functionality of the union catalogue. In this approach a first search would be carried out to retrieve bibliographic records, which would presumably be delivered as MARC bibliographic records. These might return locations in field 850 and copy information in repeats of 852. Subsequently, additional searches would be carried out to retrieve detailed holdings information for specific items discovered in the bibliographic search. The search for detailed holdings might be directed to a different server, such as the system indicated by the location obtained from a union catalogue. The detailed holdings can be returned in the form of MARC holdings records, and this approach therefore offers the potential of an entirely MARC-based solution. Unfortunately, very few vendors have indicated their intention to implement support for the MARC holdings format, so the level of interest in this approach is likely to be low.

Z39.50 OPAC Record

An alternative approach wrap clusters of bibliographic and holdings records inside a different syntax that acts as a wrapper to hold multiple records. The OPAC record defined in the 1995 Z39.50 standard is a candidate for such a wrapper record. The OPAC record has an additional advantage in that it permits the transfer of circulation status information. This information cannot be carried in a MARC bibliographic or holdings record by itself.

Use of the OPAC record, however, requires some agreement among the parties cooperating to implement the distributed union catalogue. The record provides a choice of two mechanisms for including holdings information: MARC holdings records, or the HoldingsAndCircData data type defined for the record. It seems unreasonable to expect the implementors to have to support both of these forms of carrying holdings information. Only one of these choices may be present for each holding, and neither the MARC bibliographic nor holdings record carries circulation information. The HoldingsAndCircData subrecord, however, does not provide the same level of granularity of information as does the MARC holdings record, so there are trade-offs. It should also be noted that the OPAC record was designed to carry the information required to construct displays to be used by patrons of a single library. It does not, therefore, carry some information that is essential for union catalogue and interlending purposes, such as the library's lending policy for an item.

Profile issues for transferring holdings information in Z39.50

This section describes some of the issues that must be addressed by a profile for transferring holdings information via Z39.50.

  1. The first issue is whether to use an entirely MARC-based approach or to use a wrapper syntax. The entirely MARC approach requires multiple searches to obtain detailed holdings information. Among the major impediments to this approach are: the reluctance of vendors to undertake the possibly significant development effort required to be able to deliver MARC holdings records; development of complex user interfaces will be required to simplify user interaction with the multiple queries required; this approach still cannot be used to deliver circulation information. If a wrapper record is to be used, what should it be? The two obvious candidates are the OPAC record and GRS-1.

  2. If it is decided to use the OPAC record, a number of issues still need to be resolved. If vendors are unwilling to implement support for the MARC holdings record, it should be agreed that the MARC holdings record choice in the OPAC record syntax will not be used. Such an agreement would greatly simplify the task of implementing clients that can display data from OPAC records coherently.

  3. Even if the MARC holdings record is not used, the OPAC record still permits location and call number information to be present in two places: in the bibliographic record in fields 850 and 852 and the HoldingsAndCircData data type in the nucCode and call number parameters. This leads to the possibility of there being duplicate and even contradictory information in the two places. There should be an implementors agreement as to where location and call number information will be carried. Again, this will greatly simplify the task of implementing coherent clients. The fact that the 850 and 852 fields are legitimate MARC bibliographic fields is a strong inducement to recommend their use for carrying location and copy information. It is assumed that implementors will agree to discontinue the use of server-specific tags in favour of the agreed data elements in the OPAC record.

  4. Even with these agreements the OPAC record continues to present a number of problems. The HoldingsAndCircData data type is less expressive than the MARC holdings record. MARC, for instance, allows distinctions to be made between holdings of the basic bibliographic item, supplements and indexes. HoldingsAndCirc supports no such distinctions. There is no parameter in HoldingsAndCirc to carry an indication of lending policy for a copy.

  5. The OPAC record is the only available vehicle for carrying circulation information. Even here, however, it may not be sufficiently expressive. For instance, renewable and onHold are Boolean data types. There are, however 3 possible states for each of these: "yes", "no" and "don't know" (e.g. because the server system isn't used to manage holds and renewals). Neither is there an element to contain notes.

  6. If the OPAC record is to be used, Z39.50 the compSpec parameter of version 3 will have to be used to carry a schema identifier if the user wishes to specify the national version of MARC that is desired/supported for the bibliographic record. Since the schema identifier is assumed to refer to the entire record, it may be felt that use of it to indicate the schema of part of a record will lead to ambiguities.

Conclusion

Z39.50 is coming to be seen as a vital tool in enabling libraries and their patrons to cope with the increasing importance of resource sharing in libraries and the increasingly heterogeneous computing environment in which they operate. If Z39.50 is to be used effectively for resource sharing, implementors, and particularly library system vendors must begin to support agreed-on mechanisms transferring locations, holdings and circulation information in a standardized way. If the virtual library is ever to become a reality, real interoperability between library systems via Z39.50 is an essential precondition.

In order to achieve interoperability, the issues described in this paper need to be resolved by consensus, and all the parties concerned need to agree to undertake any implementation effort required within a reasonable timeframe.


Appendix - Definition of OPAC record

RecordSyntax-opac {Z39-50-recordSyntax opac(102)} DEFINTIONS ::=
BEGIN
IMPORTS InternationalString FROM Z39-50-APDU-1995;
OPACRecord ::= SEQUENCE {
	bibliographicRecord	[1]	IMPLICIT EXTERNAL OPTIONAL,
	holdingsData	[2]	IMPLICIT SEQUENCE OF HoldingsRecord OPTIONAL
	}
HoldingsRecord ::= CHOICE {
	marcHoldingsRecord	[1]	IMPLICIT EXTERNAL,
	holdingsAndCirc	[2]	IMPLICIT HoldingsAndCircData
	}
HoldingsAndCircData ::= SEQUENCE {
-- the following elements are required to display holdings in conformance with NISO standards.
	typeOfRecord	[1]	IMPLICIT InternationalString OPTIONAL,  -- LDR 06
	encodingLevel	[2]	IMPLICIT InternationalString OPTIONAL,  -- LDR 17
	format	[3]	IMPLICIT InternationalString OPTIONAL,  -- 007 00-01
	receiptAcqStatus	[4]	IMPLICIT InternationalString OPTIONAL,  -- 008 06
	generalRetention	[5]	IMPLICIT InternationalString OPTIONAL,  -- 008 12
	completeness	[6]	IMPLICIT InternationalString OPTIONAL,  -- 008 16
	dateOfRecord	[7]	IMPLICIT InternationalString OPTIONAL,  -- 008 26-31
	nucCode	[8]	IMPLICIT InternationalString OPTIONAL,  -- 852 $a
	localLocation	[9]	IMPLICIT InternationalString OPTIONAL,  -- 852 $b
	shelvingLocation	[10]	IMPLICIT InternationalString OPTIONAL,  -- 852 $c
	callNumber	[11]	IMPLICIT InternationalString OPTIONAL,  -- 852 $h and $i
	shelvingData	[12]	IMPLICIT InternationalString OPTIONAL,  -- 852 $j thru $m
	copyNumber	[13]	IMPLICIT InternationalString OPTIONAL,  -- 852 $t
	publicNote	[14]	IMPLICIT InternationalString OPTIONAL,  -- 852 $z
	reproductionNote	[15]	IMPLICIT InternationalString OPTIONAL,  -- 843
	termsUseRepro	[16]	IMPLICIT InternationalString OPTIONAL,  -- 845
	enumAndChron	[17]	IMPLICIT InternationalString OPTIONAL,  -- all 85x, 86x
	volumes	[18]	IMPLICIT SEQUENCE OF Volume OPTIONAL,
			-- repeats for each volume held
	circulationData	[19]	IMPLICIT SEQUENCE OF CircRecord OPTIONAL
			-- repeats for each circulating item.
	}
Volume ::= SEQUENCE {
	enumeration	[1]	IMPLICIT IntenationalSting OPTIONAL,
	chronology	[2]	IMPLICIT InternationalString OPTIONAL,
	enumAndChron	[3]	IMPLICIT InternationalString OPTIONAL 
	}
CircRecord ::= SEQUENCE {
	availableNow	[1]	IMPLICIT BOOLEAN,
	availabilityDate	[2]	IMPLICIT InternationalString OPTIONAL,
	availableThru	[3]	IMPLICIT InternationalString OPTIONAL,
	restrictions	[4]	IMPLICIT InternationalString OPTIONAL,
	itemId	[5]	IMPLICIT InternationalString OPTIONAL,
	renewable	[6]	IMPLICIT BOOLEAN,
	onHold	[7]	IMPLICIT BOOLEAN,
	enumAndChron	[8]	IMPLICIT InternationalString OPTIONAL,
	midspine	[9]	IMPLICIT InternationalString OPTIONAL,
	temporaryLocation	[10]	IMPLICIT InternationalString OPTIONAL
	}

Appendix - USMARC for Holdings Field List

Leader/06 - Type of record:  	v	multipart item holdings
		x	single-part item holdings
		y	serial item holdings

Leader/17 - Encoding level	1	holdings level 1
		2	holdings level 2
		3	holdings level 3
		4	holdings level 4
		5	holdings level 4 with piece designation
		m	mixed levels
		z	other level

001	Control number

004	Control number of related bibliographic record

005	Date/time of latest transaction

007	Physical description fixed field

008	Fixed-length data elements
	/00-05 - Date entered on file
	/06 - Receipt or acquistion status
		0	unknown
		1	other receipt or acquisition status
		2	completed
		3	on order
		4	currently received
		5	not currently received
	/07 - Method of acquisition
		d	deposit
		e	exchange
		f	free	
		g	gift
		p	purchase
		z	other
		u	unknown
	/08-11 - Intent to cancel date
	/12 - General retention policy
		0	unknown
		1	other
		2	retained except as replaced by updates
		3	sample issue retained
		4	retained until replaced by microform
		5	retained until replaced by cumulation [etc.]
		6	retained for a limited period
		7	not retained
		8	permanently retained
	/13-15 - Specific retention policy
	/16 - Completeness
		0	other
		1	complete
		2	incomplete
		3	scattered
		4	not applicable
	/17-19 - Number of copies reported
	/20 - Lending policy
		a	will lend
		b	will not lend
		u	unknown
	/21 - Reproduction policy
		a	will reproduce
		b	will not reproduce
		c	unknown
	/22-24 - Language [of holdings statement]
	/25 - Separate or composite copy report
		0	separate copy report
		1	composite copy report
	/26-31 - Date of report

010	Library of Congress Control Number [for bibliographic item]

014	Linkage number

020	ISBN

022	ISSN

023	Standard Film Number

024	Standard Recording Number

027	Standard Technical Report Number

030	CODEN Designation

035	System Control Number

583	Action Note

841	Holdings Coded Data Values - contains coded data from the leader and 008 when a holdings record is embedded in a bibliographic record

842	Textual Physical Form Designator

843	Reproduction Note

844	Name of Unit

845	Terms Covering Use and Reproduction Note

852	Location
	$a - location
	$b - sublocation or collection
	$c - shelving location
	$e - address
	$f - coded location qualifier
	$g - non-coded location qualifier
	$h - classification part [of call number]
	$i - item part [of call number]
	$j - shelving control number
	$k - call number prefix
	$l - shelving form of title
	$m - call number suffix
	$n - country code
	$p - piece designation
	$q - piece physical condition
	$s - copyright article-fee code
	$t - copy number
	$x - nonpublic note
	$z - public note
	$2 - source of classification or shelving scheme
	$3 - materials specified
	$8 - link and sequence number

853	Captions and Pattern - Basic Bibliographic Unit
	$a - first level of enumeration
	$b - second level of enumeration
	$c - third level of enumeration
	$d - fourth level of enumeration
	$e - fifth level of enumeration
	$f - sixth level of enumeration
	$g - alternative numbering scheme, first level of enumeration
	$h - alternative numbering scheme, second level of enumeration
	$i - first level of chronology
	$j - second level of chronology
	$k - third level of chronology
	$l - fourth level of chronology
	$m - alternative numbering scheme, chronology
	$t - copy
	$u - bibliographic units per next higher level
	$v - numbering continuity
	$w - frequency
	$x - calendar change
	$y - regularity pattern
	$3 - materials specified
	$8 - link and sequence number

854	Captions and Pattern - Supplementary Material  
subfields as 853 plus $o - type of supplementary material 855 Captions and Pattern - Indexes
subfields as 853 plus $o - type of index 856 Electronic Location and Access $a - host name $b - IP address $c - compression information $d - path $f - electronic name $g - electronic name - end of range $h - processor of request $i - instruction $j - bits per second $k - password $l - logon/login $m - contact for access assistance $n - name of location of host in subfield $a $o - operating system $p - port $q - file transfer mode $r - settings $s - file size $t - terminal emulation $u - URL $v - hours access method available $w - record control number $x - nonpublic note $z - public note $2 - access method $3 - materials specified 863 Enumeration and Chronology -Basic Bibliographic Unit [requires 853 to generate a display] $a - first level of enumeration $b - second level of enumeration $c - third level of enumeration $d - fourth level of enumeration $e - fifth level of enumeration $f - sixth level of enumeration $g - alternative numbering scheme, first level of enumeration $h - alternative numbering scheme, second level of enumeration $i - first level of chronology $j - second level of chronology $k - third level of chronology $l - fourth level of chronology $m - alternative numbering scheme, chronology $n - converted Gregorian year $p - piece designation $q - piece physical condition $s - copyright article-fee code $t - copy number $w - break indicator $x - nonpublic note $z - public note $8 - link and sequence number 864 Enumeration and Chronology - Supplementary Material [requires 854 to generate a display] subfields as 863 plus $o - title of supplementary material 865 Enumeration and Chronology - Indexes [requires 855 to generate a display]
subfields as 863 plus $o - title of index 866 Textual Holdings - Basic Bibliographic Unit $a - textual string $x - nonpublic note $z - public note $8 - link and sequence number 867 Textual Holdings - Supplementary Material - subfields as 866 868 Textual Holdings -Iindexes - subfields as 866 876 Item Information - Basic Bibliographic Unit $a - internal item number $b - invalid or cancelled internal item number $c - cost $d - date acquired $e - source of acquisition $h - use restrictions $j - item status $l - temporary location $p - piece designation $r - invalid or cancelled piece designation $t - copy number $x - nonpublic note $z - public note $3 - material specified $8 - link and sequence number 877 Item Information - Supplementary Material
subfields as 876 878 Item Information - Indexes
subfields as 876