zeerex – an explain mechanism for srw/umike taylor [email protected] zeerex – an explain...
TRANSCRIPT
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
ZeeRex – an Explain Mechanism for SRW/U
1.What ZeeRex is
2.How we got where we are
3.Gritty detail: the ZeeRex XML Schema
4.“Friends and Neighbours” and harvesting
5.Now what?
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
What ZeeRex is
ZeeRex is a service registry for Z39.50 and SRW/U.
In broadest outlines, it is similar to UDDI, the JISC IESR
(Information Environment Service Registry), Talis's
Silkworm Registry and many others.
It differs from these in that it provides much more detail
about the services' IR capabilities – e.g. what indexes can
be searched, what record formats can be returned.
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
What ZeeRex is
ZeeRex is a service registry for Z39.50 and SRW/U.
In broadest outlines, it is similar to UDDI, the JISC IESR
(Information Environment Service Registry), Talis's
Silkworm Registry and many others.
It differs from these in that it provides much more detail
about the services' IR capabilities – e.g. what indexes can
be searched, what record formats can be returned.
(It is also slightly cheaper, and has the words DOn'T pANiC! inscribed in large, friendly letters on its cover.)
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
ZeeRex records contain elements of both Service Description
and Collection Description, plus some semantics. Examples:
● The service is on ir.vpsearch.org, port 80.
● The database is called “dino” and contains references for
books and papers about dinosaurs and related animals.
● You can search it with the Dublin Core “creator” and “title”
indexes and the Bath “ISSN” index, and retrieve XML
records in MARCXML or Dublin Core format.
What ZeeRex is
UNIQUE
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
ZeeRex records contain elements of both Service Description
and Collection Description, plus some semantics. Examples:
● The service is on ir.vpsearch.org, port 80.
● The database is called “dino” and contains references for
books and papers about dinosaurs and related animals.
● You can search it with the Dublin Core “creator” and “title”
indexes and the Bath “ISSN” index, and retrieve XML
records in MARCXML or Dublin Core format.
What ZeeRex is
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
THE HOLY GRAIL:
A generic Z39.50 or SRW/U client should be able to use
a ZeeRex record to configure itself for a specific service.
In the Z39.50-SRW/U universe, a record intended for this
purpose is called an “explain record”.
What ZeeRex is
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
How we got where we are
ZeeRex is the third generation Explain service for Z39.50.
● “Explain Classic” (originally just called Explain) was in the
text of the Z39.50 standard. It was ferociously complete,
complex, and baroque, and impossible to implement.
● “Explain Lite” was created as part of the European ONE-2
project, and worked by unilaterally including a small XML
document in the Z39.50 Init Response. It was too limited
and ONE-specific for more meneral needs.
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
How we got where we are
The ZeeRex specifications are the unfunded work of a
multi-vendor working-group:
Ray Denenberg <[email protected]>
Matthew Dovey <[email protected]>
Sebastian Hammer <[email protected]>
Alan Kent <[email protected]>
Mark Needleman <[email protected]>
Rob Sanderson <[email protected]>
Mike Taylor <[email protected]>
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
How we got where we are
The ZeeRex specifications are the unfunded work of a
multi-vendor working-group:
Ray Denenberg <[email protected]>
Matthew Dovey <[email protected]>
Sebastian Hammer <[email protected]>
Alan Kent <[email protected]>
Mark Needleman <[email protected]>
Rob Sanderson <[email protected]>
Mike Taylor <[email protected]>
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
How we got where we are
Splain,
Explain<<<<
Explain<<<<
Explainable Explain
E=mc2 (Explain Made
Completely Comprehensible)
XYZ (eXplain Your Z39.50)
HenDriX (Half Decent eXplain)
Explain – –
Explain NG
eXplainML
Plain-X
The name ZeeRex is an acronym:
Z39.50 Explain, Explained and Re-Engineered in XML.
If this seems contrived, that's because you haven't seen the other
names that were considered:
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
The ZeeRex Schema: an overview
<explain id="org.o-r-g.srw-card" authoritative="true"
xmlns="http://explain.z3950.org/dtd/2.0/">
<serverInfo> <!-- ... --> </serverInfo>
<databaseInfo> <!-- ... --> </databaseInfo>
<metaInfo> <!-- ... --> </metaInfo>
<indexInfo> <!-- ... --> </indexInfo>
<schemaInfo> <!-- ... --> </schemaInfo>
<configInfo> <!-- ... --> </configInfo>
</explain>
The record consists of a wrapper (with a namespace, a unique
identifier and a provenance statement), and six sections.
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
The ZeeRex Schema: serverInfo
<serverInfo protocol="SRW/U" version="1.1">
<host>srw.cheshire3.org</host>
<port>8080</port>
<database lastUpdate="2003-11-24 15:00:00">/l5r/</database>
<authentication>
<open> sOmEpAsSwOrD </open>
</authentication>
</serverInfo>
This section contains raw mechanical information needed to connect
to the service. Authentication can be <open>, or may consist of one
or more of <user>, <group> and <password>.
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
The ZeeRex Schema: databaseInfo
<databaseInfo>
<title lang="en" primary="true">Legend of the Five Rings</title>
<description lang="en" primary="true">
A database containing complete descriptions of cards from the
L5R collectible card game (CCG).
</description>
<author>Rob Sanderson</author>
<contact>[email protected]</contact>
</databaseInfo>
This section contains human-readable information about the database,
constituting an elementary collection description.
<metaInfo>
<dateModified>2003-11-24 15:00:00</dateModified>
<aggregatedFrom></aggregatedFrom>
<dateAggregated>2004-03-12 13:14:03</dataAggregated>
</metaInfo>
This section describes the ZeeRex record itself, as opposed to
the service it points to or the database it provides.
The aggregation fields describe the provenance of ZeeRex records
harvested from one ZeeRex database into another.ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
The ZeeRex Schema: metaInfo
The indexInfo, schemaInfo and configInfo sections contain detailed
machine-readable information describing how the service can be used.
It is not particularly human-readable.
● indexInfo indicates what indexes exist, what human-readable labels to
use for them, and whether they can be used for search, scan and/or sort.
● schemaInfo specifies what XML schemas result-records can be provided
in, and which schemas can be used for sorting.
● configInfo contains everything else, in a simple extensible format.ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
The ZeeRex Schema: protocol information
<indexInfo>
<set identifier="http://srw.cheshire3.org/ccg/1.0/" name="ccg"/>
<set identifier=" info:srw/cql-context-set/1/dc-v1.1" name="dc"/>
<index search="true" scan="true">
<title>Anywhere</title>
<map><name set="ccg">anywhere</name></map>
</index>
<index search="true" scan="true">
<title>Card Name</title>
<map><name set="ccg">name</name></map>
<map><name set="dc">title</name></map>
</index>
</indexInfo>ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
The ZeeRex XML Schema: indexInfo
<schemaInfo>
<schema identifier="info:srw/schema/1/dc-v1.1"
sort="false" retrieve="true" name="dc">
<title lang="en">Dublin Core</title>
<title lang=”de”>Das Dublinkore</title>
</schema>
<schema identifier="http://srw.o-r-g.org/schemas/ccg/1.0/"
location="http://srw.cheshire3.org/schemas/ccg/1.0/ccg.xsd"
sort="true" retrieve="true" name="ccg">
<title>Collectible Card Games schema</title>
</schema>
</schemaInfo>ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
The ZeeRex XML Schema: schemaInfo
<configInfo>
<setting type="maximumRecords">10</setting>
<default type="numberOfRecords">1</default>
<default type="contextSet">dc</default>
<supports type="proximity"/>
<supports type="relationModifier">stem</supports>
<supports type="relationModifier">soundex</supports>
</configInfo>
There are three kinds of configuration element:● setting – an aspect of server behaviour can't be changed.● default – an aspect that is used unless overridden by client request.● supports – something the server supports if requested.ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
The ZeeRex XML Schema: configInfo
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
“Friends and Neighbours” and harvesting
“Friends and Neighbours” is (or was) a mechanism for
discovering Z39.50 and SRW/U servers.
The idea is that a server can support a database of ZeeRex
records – perhaps skeletal – describing its friends.
The friends can then be queried for more detailed information
about themseleves, and for pointers to further friends.
A crawler could walk the graph of links to harvest a large
database of ZeeRex records, to be searched like Google.
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
“Friends and Neighbours” – a requiem
“Friends and Neighbours” has gone unimplemented except
for one or two “toy” proof-of-concept implementations.
This is a TERRIBLE MISTAKE, since it provides an
excellent way of implementing a distributed registry.
I am pretty confident that one of the other groups working
on registries will re-invent it some day soon.
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
Now what?
It's not entirely clear where ZeeRex fits in the wider ecosystem.
● It's probably too late for ZeeRex to affect Z39.50 much. (Which is a shame, as it's exactly what Z39.50 needs.)
● SRW/U is dependent on it, and needs its detail.
● There are competing specifications that overlap with what it does (Service Descriptions, Collection Description).
● Some registries seem likely to embed it (NISO Metasearch, Talis Silkworm – maybe JISC IESR?).
ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>
Thanks for listening!Image modified from Carr 1999, figure 4. Skull of Albertosaurus libratus in right right lateral view.
(So not actually T. rex at all.)