# Presentation: 921489

## 'Splain

- The Z39.50 Explain Facility --
- * Historical Overview*
- ZIG Meeting December 2000

## Manifestations

- Z39.50-1988
- ISO TC46/WG4/SC4   10162/3 SR
- Z39.50-1992
- Z39.50-1995

## Z39.50-1988   “Future Services”

Z39.50-1992   “Future Service”

Z39.50-1995  “Facility”

- Z39.50-1992   “Future _Service_”
- Z39.50-1995  “Facility”

## Z39.50-1988 Foreword“Future Services”

- List Databases
- List Access Points
- List Elements
- List Element Set
- List Element Sets

## Z39.50-1992 Foreword“Future Services”

- Explain
- to allow an origin to obtain details of the target implementation, including databases available for searching, data elements in records of a specified database, element sets supported, elements within a specified element set, attribute sets supported, attributes supported within a supported attribute set, diagnostic sets, and record syntaxes.

## Z39.50-1995 “Explain Facility”

- Explain database
-  IR-Explain-1
-  accessed  via Z39.50 Search and Present services
-  Explain Attribute set
-  exp-1
-  Explain syntax

## Z39.50-1988

ISO TC46/WG4/SC4   10162/3 SR

Z39.50-1992

z39.50-1995

- ISO TC46/WG4/SC4   10162/3 SR
- Z39.50-1992
- z39.50-1995

## "Help!"

- ISO SR:

## Contributors

- Makx Dekkers
- Liv Holm
- Cliff Lynch
- Mark Needleman
- Bob Waldstein
- Mark Hinnebusch
- Denis Lynch
- Ray Denenberg

## Rationale (Denis Lynch 1997)

- Many clients don’t know their servers
- Users point clients at new servers
- Servers add or change databases & services
- Clients need dynamic information
- Server hours of operation
- Billing rates
- Supported attribute combinations
- Field labels

## Target Info (D. Lynch)

- One TargetInfo record per _server_
- Target name
- database combinations
- Message of the day
- Contact and access information
- Network addresses

## Database Info

- One DatabaseInfo record per _database_
- Database name
- Databases that can be searched with this one
- Databases that are subsets of this one
- Attribute sets, syntaxes, schemas, query types...
- Copyright and contact information

## TagSetInfo 
 all tags defined in a tagset
SchemaInfo 
Mapping of tagset numbers to tagsets
The record structure
RecordSyntaxInfo 
describes the record structure
AttributeSetInfo 
lists every attribute

-  all tags defined in a tagset
- SchemaInfo
- Mapping of tagset numbers to tagsets
- The record structure
- RecordSyntaxInfo
- describes the record structure
- AttributeSetInfo
- lists every attribute

## Attribute Details
May list patterns for legal combinations
{    {  { Use, {4, 16, 24} },        { Structure, All }    },    {  { Use, 1001 },        { Structure, 2 }    }}

- May list patterns for legal combinations
- {    {  { Use, {4, 16, 24} },        { Structure, All }    },    {  { Use, 1001 },        { Structure, 2 }    }}

## Term Lists

- One TermListInfo per database,
- lists “indexes”
- link to TermListDetails
- A title, for display to users
- A search cost hint (optimized, expensive...)
- Is it  scannable
- TermListDetails

## Term Lists

- TermListDetails: may apply to many databases
- Attribute combinations that access this term list
- More info about scanning
- Sample terms

## Element Specification

- ElementSetDetails for Element Set Names
- RetrievalRecordDetails for CompSpec
- Mapping of schema elements to record elements

## Sort Information

- Sort keys available for database
- Map of elements and attributes

## Extended Services

- Supported services
- Availability, cost...
- Is package retained in ES database?
- Can ES be executed synchronously?

## Category List

-   Explain categories supported
- Dynamically discover what can be dynamically discovered

## Miscellaneous Complexities

- AccessInfo
- TermList titles for access points Or Use attributes from AttributeCombinations
- AssociatedDBs
- SubDBs supports “more specific” function
- PerElementDetails for field labels
-  ProcessingInformation

## Issues

- Model
- Search and retrieve from a  Z39.50 database
- Complexities
- What Information does a client need?