LC Z39.50/SRW/SRU Server Configuration Guidelines

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).


Table of Contents


Z39.50 Services Supported

The LC server supports the following services:

Initialization
Search
Present

Return to Table of Contents


SRW/SRU Services Supported

The LC SRW/SRU server supports the following services:

Explain
searchRetrieve

Return to Table of Contents


Internet Addresses, Databases, and Hours of Availability

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.

Return to Table of Contents


Initialization Service (Z39.50)

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

Return to Table of Contents


Search Service

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

Return to Table of Contents


Present Service (Z39.50)

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

Return to Table of Contents


XML Schemas Supported (SRW/SRU)

"dc" -- Dublin Core
"mods" -- MODS
"marcxml" -- MARCXML - the default schema
"opacxml" -- MARCXML (wth holdings attached)

Return to Table of Contents


Queries Supported (SRW/SRU)

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

Return to Table of Contents


Use Attributes Supported (Z39.50):

      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

Return to Table of Contents


Relation Attributes Supported (Z39.50):

      Value   Description      
      -----   --------------- 
        3     Equal         

        Values other than "3" are accepted, but not regarded.

Return to Table of Contents


Position Attributes Supported (Z39.50):

      Value   Description    
      -----   ---------------
        1     First in field 
        3     Any           

Return to Table of Contents


Structure Attributes Supported (Z39.50):

      Value   Description     
      -----   ---------------  
        1     Phrase   

        Values other than "1" are accepted, but not regarded.

Return to Table of Contents


Truncation Attributes Supported (Z39.50):

      Value   Description     
      -----   --------------- 
        1     Right truncation
      100     Do not truncate 
  

Return to Table of Contents


Completeness Attributes Supported (Z39.50):

      Value  Description     
      -----  --------------------   
        1    Incomplete subfield 

        Values other than "1" are accepted, but not regarded.  

Return to Table of Contents


Required and Default Attributes

      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)

Return to Table of Contents


Search Term Processing in LC System

    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.). 

Return to Table of Contents


Limitations of Voyager Server

    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.

Return to Table of Contents


Return to the LC WWW/Z39.50 Gateway
Library of Congress
Contact Us (June 16, 2005)