Z39.50 International Standard Maintenance Agency - Library of Congress, Network Development and MARC Standards Office

Z39.50 Text

Part 7: Explain Facility

[Table of Contents | Previous Section | Next Section]

3.2.10 Explain Facility
The Explain facility allows an origin to obtain details of the implementation of a target, including databases available for searching, attribute sets and diagnostic sets used by the target, and schema, record syntax and element specification definitions supported for retrieval. Targets that support the Explain facility:

A record (or result set item representing a record) within the Explain database, is referred to as an "Explain record".

3.2.10.1 Searching the Explain Database
The Explain database appears to the origin as any other database supported by the target. However, certain search terms, corresponding to information categories, are predefined in order to allow a semantic level of interoperability. Terms are searched case-insensitive.

The exp-1 attribute set is used to search the Explain database. Combinations of Use attributes and terms allow searching upon information category; well-defined combinations of Use attributes may be used to allow additional specification by the origin to limit the records to those of immediate interest. Combinations of exp-1 Use attributes to perform a common set of searches are listed in 3.2.10.1.1 and 3.2.10.1.4. Since the Explain database may be searched as any other database using attributes from one or more attribute sets, this list is not exhaustive. However, it is recommended that a target supporting the Explain facility support this list of common searches. As described in 3.2.10.1.2 and 3.2.10.1.3, the HumanStringLanguage, DateAdded, DateChanged, and DateExpires attributes can be used in combination with any of the combinations listed in 3.2.10.1.1 and 3.2.10.1.4.

The exp-1 attribute set consists of a set of Use attributes and imports the non-Use bib-1 attributes. It is recommended that a target supporting the Explain facility support the bib-1 relation attribute 'equal' (see note), position attribute 'any position in field', and structure attribute 'key'.

Note: If the target intends to support searching based on date ranges (e.g. to limit a search to records created before or after a particular date or between two dates), the target should also support one or more of the following relation attributes: 'less than', 'less than or equal', 'greater than', and 'greater or equal'.

Origins should not in general expect that the explain database is searchable using the bib-1 truncation attribute, completeness attribute nor any of the alternative values of the relation, position and structure attributes defined in bib-1. However, targets are free to provide access to the Explain database using those and other alternative attributes and attribute values.

3.2.10.1.1 Searching for Predefined Information Categories. Records corresponding to a particular explain information category are searched by an operand where the term is the name of that category; for example, all records corresponding to TargetInfo are searched using the term "TargetInfo." For each category one or more key elements are defined, and may be provided as search terms (using the appropriate attribute). A search with an operand where the Use attribute = 'ExplainCategory' and the term is a category, and with additional operands corresponding to each key for that category where the value of the Use attribute is the key, should result in (at most) a single record.

The primary mechanism for search and retrieval of information from the Explain database is for the origin to select the records in a category using the Use attribute 'ExplainCategory' and to extract desired information from those records to formulate a subsequent search. For example the origin may search records with ExplainCategory = 'DatabaseInfo,' and retrieve summary information (see 3.2.10.2.2) from those records. Each summary record will include a database name, which serves as a key for a possible subsequent search.

A list and brief description of the Explain information categories (and thus search terms) are given in the table below, as well as the keys for each category. In 3.2.10.3 each category is described in detail.

An origin should adhere to the following rules when searching an Explain database by the predefined information categories.

Table 14: Explain Categories

Category An Explain record in this category describes: Key(s)
TargetInfo The target, including search constraints imposed by the target. target name
DatabaseInfo A database. Information about supported query types, attribute sets, record syntaxes, schemas, diagnostic sets, resource control formats and access control formats. A group of databases offering a common set of characteristics may be described as a single, logical, database. In this case, a list of databases subsumed within this logical database is provided. database name
SchemaInfo A Schema. schema oid
TagSetInfo A tag Set. tagSet oid
RecordSyntaxInfo A record syntax. record syntax oid
AttributeSetInfo An attribute set, including the attributes supported within the set. attribute set oid
TermListInfo Term lists supported for a database. database name
ExtendedServicesInfo An extended service. extended service oid

AttributeDetails

Attributes that can be used to search a database including the other attributes with which it may be combined. database name
TermListDetails A term list. term list name
ElementSetDetails An element set (for a particular record syntax, for a particular database). database name, element set name, record syntax oid
RetrievalRecordDetails The elements of a retrieval record (for a particular record syntax, defined by a particular schema). databaseName, schema oid, recordSyntax oid
SortDetails Sort specification for a database. database name
ProcessingInfo Processing instructions for a database, for a particular processing context, name of instructions, and object identifier for the abstract syntax of the externally defined Instructions. database name, processing-context, name, oid
VariantSetInfo A variant set definition; classes, types, and values, for a specific variant set definition supported by the target. Support by the target of a particular variant set definition does not imply that the definition is supported for any specific database or element. variantSet oid
UnitInfo Unit definitions supported by the target. unit system name
CategoryList Explain categories that the target supports. (no key)

3.2.10.1.2 Searching for Information in a Particular Language. Elements intended to be presented to the user by the origin are said to consist of "human readable text." Each record includes a language element indicating the language of the human readable text within the record. The explain database might contain several records with identical information, in different languages. To search for records in a certain language, the HumanStringLanguage attribute may be used (in conjunction with the three-character language code as the term; see Z39.53-1994).

For example, to search for a list of databases that have descriptive records in English, the query might be of the form:

(Category = 'DatabaseInfo') AND (HumanStringLanguage = 'eng').

The HumanStringLanguage attribute is intended primarily for use in Version 2. When version 3 is in force, the use of variants is recommended.

3.2.10.1.3 Searching for Information by Control Dates. To search for new records in an Explain database, use the DateAdded attribute; for updated records use the DateChanged attribute, for records based on their date of expiry use the DateExpires attribute. Any of these three may be used in combination with the searches described above.

3.2.10.1.4 Searching for Information Using Content Values. Some of the Explain records are searchable using attributes which take values from elements within the pertinent Explain records. These Use attributes can be used to select subsets of records of specific information category. For instance, the Availability Use attribute can be used to select those database information records for databases which are currently available. The use of these attributes by an origin should conform to the following rules.

3.2.10.2 R etrieval of Explain Records
A Present request for Explain records should specify the Explain syntax as the Preferred-record-syntax. Each explain information category has its own record layout, and all are described in the Explain syntax definition (see Appendix 5 REC.1).

Explain records include key elements which serve to uniquely identify each record. Each Explain category is defined in term of key elements, non-key "brief" elements (see 3.2.10.2.2), "non-brief" elements, and possibly other categories. Key elements are always part of the brief elements.

3.2.10.2.1 Retrieval and Human Readable Text. The Explain database might provide alternative variations of human readable information (however, for language variations; see note below). For example, a text element might be retrievable in ASCII, SGML, or Postscript. To request a particular format, use the variant facilities of Version 3.

Note: For language variation, see 3.2.10.1.2. The Explain database logically includes different records for different languages, and therefore selection based on language occurs during the search.

3.2.10.2.2 Retrieving Summary and Descriptive Information. The Explain facility provides for the retrieval of summary, or "brief" information. For example the origin may request summary information about all of the databases supported by a target without retrieving the full databaseInfo records. Within each category's definition, elements are designated as "brief" or "non-brief." Elements designated "brief" are obtained when using the element set name 'B'. Elements designated "non-brief" are obtained (along with brief-elements) when using the element set name 'F'.

The Explain facility also provides for the retrieval of descriptive information, for certain categories, via the element set name 'description' (for details, refer to the ASN.1 definition for the Explain syntax). For example, a Database-info record includes an element which contains a description (in human readable text) of the database; to retrieve only the brief elements and the description element, the element set name 'description' may be used.

Individual categories defined in the Explain syntax may designate other element set names for specific subsets of information within that category.

3.2.10.3 Detailed Descriptions of the Information Categories
This section includes complete descriptions of each information category. In addition to the information enumerated, each record:

These are logical descriptions, which do not reflect the possibility that there might be language variants of a record or syntax variants of a element.

Many of the Explain elements are optional, but are not so indicated in the description below. For specific information, refer to the ASN.1 definition.

3.2.10.3.1 Target-Info. Information about the target. There is one such Explain record in the Explain database.

Brief elements:

Non-brief elements:

3.2.10.3.2 Database-Info Detailed description of a database and database-related restrictions and parameters. There is one such Explain record for each database supported.

Brief elements:

Non-brief elements:

3.2.10.3.3 Schema-Info. Descriptive information about a database schema. There is one Explain record for each schema supported by the target. Note: this is not specific to a database.

Brief elements:

Non-brief elements

3.2.10.3.4 Tag-Set-Info. Descriptive information about a given tagSet. There is one such Explain record for each supported tagSet.

Brief elements:

Non-brief elements:

3.2.10.3.5 Record-Syntax-Info Descriptive information about a record syntax. There is one Explain record for each abstract record syntax supported by the target. Note: this is not specific to a database.

Brief elements:

Non-brief elements:

3.2.10.3.6 Attribute-Set-Info Descriptive information about an attribute set. There is one record for each supported attribute set.

Brief elements:

Non-brief elements:

3.2.10.3.7 TermList-Info Descriptive information about term-lists. There is one Explain record for each database.

Brief elements:

(No non-brief elements.)

3.2.10.3.8 Extended-Services-Info Descriptive information about an extended service. There is one Explain record for each extended service supported.

Brief elements:

Non-brief elements:

3.2.10.3.9 Attribute-Details Information for each attribute. There is one Explain record for each supported database.

Brief elements:

Non-brief elements:

3.2.10.3.10 Term-list-Details Descriptive information for a term-list. There is one record for each term-list listed by TermList-info records.

Brief elements:

Non-brief elements:

3.2.10.3.11 Element-Set-Details. Descriptive information about an element set. There is one Explain record for each element set for each record syntax for each database.

Brief elements:

Non-brief elements:

3.2.10.3.12 Retrieval-Record-Details. Descriptive information about the elements of a retrieval record. Note that the elements are relative to a database schema. There is one such Explain record for each database for each schema for each record syntax.

Brief elements:

Non-brief elements (for each element described by the syntax):

3.2.10.3.13 Sort-Details. Description of the sorting capabilities supported by the target. There is one record for each database.

Brief elements:

Non-brief elements:

3.2.10.3.14 Processing-Info. Instructions, representing how the target believes the data should be processed by the origin for presentation to the user. Instructions are defined externally. For a given database and processing context (access, search, retrieval, record-presentation, and record-handling) for which the target offers processing information, there may be more than one set of instructions; these are distinguished by name. Each set of instructions may be available in more than one abstract syntax; these are distinguished by object identifier. Thus an Explain record of this type is distinguished by database, processing context, name, and object identifier.

Brief elements:

Non-brief elements:

3.2.10.3.15 Variant-set-info. Descriptive information about a variant set definition supported by the target; classes, types, and values supported for a particular variant set. Support of a particular variant set definition does not imply that the definition is supported for any specific database or element.

Brief elements:

Non-brief elements:

3.2.10.3.16 Unit-info Descriptive information about a unit system definition supported by the target.

Brief elements:

Non-brief elements:

3.2.10.3.17 Category-list A list of the Explain categories supported by the target. There is one such record for the Explain database. It consists of the information below, for each supported category.

Brief elements:

Note: the following need occur only if the target is supporting a category not defined in this standard.

[Table of Contents | Previous Section | Next Section]