ZeeRex Context Set
Version 1.1.1, 19th of May, 2006
Introduction
The ZeeRex record schema is used in SRW/U to describe the capabilities of the server,
and is described in full at http://explain.z3950.org/.
Although there is an explain operation which will retrieve the record describing the server, ZeeRex is
designed such that the records can be aggregated into a registry style database.
Once in this registry there needs to be a way to search them and this context set,
along with others in the ZeeRex profile, is the means for systems supporting CQL.
If you're wondering why all the other ZeeRex attribute set access points aren't listed below,
then you should check out the profile.
Context Set
The identifier for the context set is: info:srw/cql-context-set/2/zeerex-1.1
The recommended short name is: zeerex
The maintainer of the context set is: Rob Sanderson, azaroth@liv.ac.uk
Indexes
Index Name |
Description |
numberOfRecords |
The number of records in the described database. (/explain/serverInfo/database@numrecs) |
set |
A supported context set or attribute set identifier. (/explain/indexInfo/set@identifier) |
index |
The name of a supported index. (See Note 1) (/explain/indexInfo/index/map/name) |
attributeType |
An attribute type for Z39.50 (/explain/indexInfo/index/map/attr@type) |
attributeValue |
An attribute value for Z39.50 (/explain/indexInfo/index/map/attr) |
schema |
The identifier of a supported record schema (/explain/schemaInfo/schema@identifier) |
recordSyntax |
The OID identifier of a supported record syntax for Z39.50 (/explain/recordInfo/recordSyntax@identifier) |
supports_* |
Multiple indexes. There is one index for each 'supports' type available for all protocols supported by ZeeRex.
Whenever the list maintained in the ZeeRex specification is updated, this should also be considered to have
been updated. For example supports_resultSets or supports_relationModifier. For types which are flags
(resultSets, proximity, etc.) the server should accept 'true' for true/present and 'false' for false/not present.
(/explain/configInfo/supports@type=*) |
default_* |
Multiple indexes. As per supports_*, but used for searching default values. |
setting_* |
Multiple indexes. As per supports_*, but used for searching setting values. |
Notes
1.
This will search only the name and not the context set, for example zrx.index exact "title".
This will then find title indexes from any context set. You will obviously be wondering how to
find indexes from one context set, and the answer is unfortunately not very pretty.
As the short name of a context set is up to the server to define, you would need to retrieve
the record and parse it to find out the mapping from identifer to short name.
This short name would not necessarily apply across all of the aggregated records so we must
use the full URI identifier. CQL has a method for searching for two pieces of information in relation
to each other -- the Proximity boolean. Using prox, we can say that the set and the index need
to come from the same element. So to search for cql.anywher
zrx.set exact "info:srw/cql-context-set/1/cql-v1.1" prox/unit=element/distance=0 zrx.index exact "anywhere"
Note that this usage, as opposed to simply AND ing the two operands, may not be available in all services which use the ZeeRex context set.
This issue also applies to some supports_* access points as well, for example finding servers which support other parts of CQL which are contextualised, for example relation modifiers.
This issue also applies in spades for Z39.50 searching where attributes have three pieces of information -- attribute set, attribute type and attribute value.
Examples
Some examples of how the context set might be used.
zrx.numberOfRecords > 10000 zrx.supports_proximity=1 zrx.supports_relationModifier any "CORI LR" prox/unit=element/distance=0 zrx.set exact "info:srw/cql-context-set/2/relevance-1.0" zrx.schema exact "info:srw/schema/1/dc-v1.1" zrx.attributeType = 1 prox/unit=element/distance=0 zrx.attributeValue = 4 prox/unit=element/distance=0 zrx.set exact/zrx.oid "1.2.840.10003.3.1" |
Changes
- (1.1.1) Added default_*, setting_* at request of Mike Taylor.
|