This document provides detailed technical information for Z39.50 and SRU client developers and implementors that is necessary in order to access and interwork with the LC Voyager Server (implemented August 31, 1999). This document assumes a general familiarity with Z39.50 and SRU.
The LC Voyager Z39.50 Server conforms to Z39.50-1995 (Version 3) of the standard. A subset of attributes from the bib-1 attribute set are supported, and codes from the bib-1 diagnostic set are utilized.
LC has implemented Index Data's YAZ Proxy, which is functioning as an SRW/SRU/Z39.50 gateway to the Voyager Z39.50 server for the LC Online Catalog. The SRW and SRU Web services conform to version 1.1 of the standard.
Any questions should be sent to Larry Dixson (ldix@LOC.GOV).
The LC server supports the following services:
Initialization Search Present
The LC SRW/SRU server supports the following services:
Explain searchRetrieve
Library of Congress Online Catalog Domain name: z3950.loc.gov (140.147.249.38) Port: 7090 Database name: Voyager Availability: 24 hours/day; 7 days/week Z39.50 Explain record: LC Online Catalog Z39.50 Explain Record SRW/SRU Base URL: http://z3950.loc.gov:7090/voyager? SRW/SRU Explain record: LC Online Catalog SRW/SRU Explain Record National Library Service for the Blind and Physically Handicapped. International Union Catalog Domain name: z3950.loc.gov (140.147.249.38) Port: 7490 Database name: Voyager Availability: 24 hours/day; 7 days/week Z39.50 Explain record: NLS/BPH Explain Record Handbook of Latin American Studies Domain name: z3950.loc.gov (140.147.249.38) Port: 7990 Database name: Voyager Availability: 24 hours/day; 7 days/week Z39.50 Explain record: HLAS Explain Record Note: IP address of production server was "140.147.237.50" prior to May 16, 2000.
Protocol Version Z39.50-1995 (Version 3) Options Supported Search Present Preferred Message Size LC will negotiate Client down to 32,768 bytes if requested size exceeds 32,768 bytes, and accept Client proposal if it is less than 32,768 bytes. Maximum Record Size Server will accept Client proposal ID Authentication User-id and password are not required by LC Server
Result Set Name Only "default" is supported (case insensitive) Database Names (case insensitive) Use "Voyager" Query Type-1 only is supported Attribute Set ID Bib-1 only is supported Operand The Result Set ID (i.e., "default") cannot be used in the Operand. Qualifying searches are not supported Operators Supported: AND OR AND-NOT Result Set Maximum is 10,000 records Session Inactivity Timer 3 minutes
Record Syntaxes Supported MARC 21 (OID = 1.2.840.10003.5.10) OPAC (OID = 1.2.840.10003.5.102) XML (OID = 1.2.840.10003.5.109.10) (LC Online Catalog only) Element Set Names Supported "F" -- Full (MARC and OPAC records) "dc" -- Dublin Core (XML records) "mods" -- MODS (XML records) "marcxml" -- MARCXML (XML records), default schema for XML "opacxml" -- MARCXML with holdings attached Present Response Maximum is 50 records
"dc" -- Dublin Core "mods" -- MODS "marcxml" -- MARCXML - the default schema "opacxml" -- MARCXML (wth holdings attached)
Dublin Core Index dc.author dc.creator dc.date dc.description dc.publisher dc.resourceType dc.resourceIdentifier dc.source dc.subject dc.title Bath Index bath.any bath.author bath.conferenceName bath.corporateAuthor bath.corporateName bath.genreForm bath.geographicName bath.isbn bath.issn bath.keyTitle bath.lcCallNumber bath.lccn bath.name bath.notes bath.personalAuthor bath.personalName bath.publisher bath.publisherNumber bath.seriesTitle bath.standardIdentifier bath.subject bath.title bath.topicalSubject bath.uniformTitle
Value Description ----- ------------------------- 1 Personal name 2 Corporate name 3 Conference name 4 Title 5 Title series 6 Uniform title 7 ISBN 8 ISSN 9 LCCN 13 Dewey classification 16 LC call number 17 NLM call number 20 Other call number 21 Subject heading 25 MeSH subject heading 27 LC subject heading 31 Date of publication 33 Title -- key 41 Title -- variant 42 Title -- former 43 Title -- abbreviated 48 Number -- national bibliography 50 Number -- government pub. 51 Number -- music publisher 54 Code -- language 55 Code -- geographic area 56 Code -- institution 57 Name and title 58 Name geographic 59 Place of publication 60 CODEN 62 Abstract 63 Note 1002 Name 1003 Author 1004 Author (personal name) 1005 Author (corporate name) 1007 Standard identifier 1008 LC children's subject 1009 Subject (personal name) 1016 Any (keyword) 1018 Name of publisher 1019 Location 1027 Standard technical report number 1031 Material type (245$h) 1032 Electronic location and access 1056 Dissertation note 1074 Subject (name) 1078 Subject (title) 1079 Subject (topical) 1107 Additional format note 1185 Credits/performers 1209 Electronic access
Value Description ----- --------------- 3 Equal Values other than "3" are accepted, but not regarded.
Value Description ----- --------------- 1 First in field 3 Any
Value Description ----- --------------- 1 Phrase Values other than "1" are accepted, but not regarded.
Value Description ----- --------------- 1 Right truncation 100 Do not truncate
Value Description ----- -------------------- 1 Incomplete subfield Values other than "1" are accepted, but not regarded.
Requirements and Defaults: The Use attribute is REQUIRED. For the other attributes, if an attribute type and value are not supplied by the client, the following defaults are applied at LC: RELATION: -- Equal (value=3) POSITION: -- Any (value=3) STRUCTURE: -- Phrase (value=1) TRUNCATION: -- Do not truncate (value=100) COMPLETENESS: -- Incomplete subfield (value=1)
Keyword searches (i.e., Position attribute = "any-position-in-field"): Keyword search terms can appear anywhere in the field. If multiple words appear in the same search term, the search term will be processed as a phrase (ordered, adjacent word list). If the words appear in separate operands (ANDed together) they can appear in different fields in the same record. Personal name keywords: A keyword search term can be the first, middle, or last name. If more than one name appears in the search term of a keyword search, the order is significant. Last name should precede first name. Keyword indexing does not include phrases that cross subfield boundaries. If the search term contains a phrase that may cross subfield boundaries (e.g., subject heading, LC call number, etc.), use a left-anchored (right-truncated) search. (In other words, Position attribute = "first-in-field"; Truncation attribute = "right truncation".) Phrase searches (i.e., multiple-word search terms): Phrase search terms can appear anywhere in the field. Phrase searches that include the "First-in-field" Position attribute should begin with the first significant word in the field. Boolean operators cannot be used with phrase searches that include the "First-in-field" Position attribute. Personal name phrase searches: The order in which the names appear in the search term is significant. In other words, the surname should appear first (with or without comma) in order to match against entry fields in LC indexes. Number searches (ISBN, ISSN, LCCN, etc.): Use a hyphen in all ISSN search terms (e.g., 1234-5678). Do not include hyphens in ISBN or LCCN search terms. LCCN search terms should be in normalized format (i.e., include any prefix, spaces, or zero fill). For example, LCCN 91-13 should be "91000013" in the search term. Qualifying Searches: Searches are not supported against previous result sets. Wild Card/Truncation: The questions mark ("?") is supported as a truncation character. Sort Order: Keyword searches: Records in keyword search result sets are in order by the Voyager control number (MARC field 001). Left-anchored searches: Records in left-anchored search result sets are sorted by the field being searched (e.g., title, subject, LC call number, etc.).
There is a limit of 10,000 records that can be retrieved in a result set. Since March 4, 2002, the LC server supports the complete MARC 21 character set. Diacritics and special characters present in records returned by the Z39.50 server are now encoded correctly. Records in JACKPHY languages that were loaded at LC prior to mid-February, 2002, contain incorrectly coded escape sequences that do not conform to the MARC 21 standard. This means that there are approximately 400,000 records with corrupted 880 fields that need to be corrected. It is anticipated that these records will be corrected by early 2006. It is not possible to search the LC authority files via Z39.50. When the Voyager server result set is a medium or a small set (based on the size of result set in relation to large-set, small-set, and medium-set number parameters in the Search Request) the following three encoding problems can result: 1) When records are expected in the Search Response (e.g., a medium set or a small set), the presentStatus is a "0" (success) instead of a "5" (failure). 2) When a non-surrogate diagnostic record is returned instead of result set records in the Search Response, the value of numberOfRecordsReturned is a "0" instead of a "1". 3) The non-surrogate diagnostic record never contains an addInfo (which is mandatory in the standard). If these problems are making interworking with the Voyager server difficult, it is suggested that the client small-set and medium-set number be set to zero and the large-set to one (making every set a large set) until these server problems have been corrected by Endeavor.