220 likes | 308 Views
ZeeRex – an Explain Mechanism for SRW/U. What ZeeRex is How we got where we are Gritty detail: the ZeeRex XML Schema “Friends and Neighbours” and harvesting Now what?. ZeeRex – an Explain Mechanism for SRW/U. Mike Taylor < mike@indexdata.com >. What ZeeRex is.
E N D
ZeeRex – an Explain Mechanism for SRW/U What ZeeRex is How we got where we are Gritty detail: the ZeeRex XML Schema “Friends and Neighbours” and harvesting Now what? ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <mike@indexdata.com>
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 <mike@indexdata.com>
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 <mike@indexdata.com>
What ZeeRex is 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. ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <mike@indexdata.com>
What ZeeRex is 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. UNIQUE ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <mike@indexdata.com>
What ZeeRex is 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”. ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <mike@indexdata.com>
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 <mike@indexdata.com>
How we got where we are The ZeeRex specifications are the unfunded work of a multi-vendor working-group: Ray Denenberg <rden@loc.gov> Matthew Dovey <matthew.dovey@las.ox.ac.uk> Sebastian Hammer <quinn@indexdata.dk> Alan Kent <ajk@mds.rmit.edu.au> Mark Needleman <mneedlem@dra.com> Rob Sanderson <azaroth@liverpool.ac.uk> Mike Taylor <mike@miketaylor.org.uk> ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <mike@indexdata.com>
How we got where we are The ZeeRex specifications are the unfunded work of a multi-vendor working-group: Ray Denenberg <rden@loc.gov> Matthew Dovey <matthew.dovey@las.ox.ac.uk> Sebastian Hammer <quinn@indexdata.dk> Alan Kent <ajk@mds.rmit.edu.au> Mark Needleman <mneedlem@dra.com> Rob Sanderson <azaroth@liverpool.ac.uk> Mike Taylor <mike@miketaylor.org.uk> ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <mike@indexdata.com>
How we got where we are 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: Explain – – Explain NG eXplainML Plain-X Splain, Explain<<<< Explain<<<< Explainable Explain E=mc2 (Explain Made Completely Comprehensible) XYZ (eXplain Your Z39.50) HenDriX (Half Decent eXplain) ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <mike@indexdata.com>
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 <mike@indexdata.com>
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 <mike@indexdata.com>
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>azaroth@liv.ac.uk</contact> </databaseInfo> This section contains human-readable information about the database, constituting an elementary collection description. ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <mike@indexdata.com>
The ZeeRex Schema: metaInfo <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 <mike@indexdata.com>
The ZeeRex Schema: protocol information 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 <mike@indexdata.com>
The ZeeRex XML Schema: indexInfo <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 <mike@indexdata.com>
The ZeeRex XML Schema: schemaInfo <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 <mike@indexdata.com>
The ZeeRex XML Schema: configInfo <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 <mike@indexdata.com>
“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 <mike@indexdata.com>
“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 <mike@indexdata.com>
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 <mike@indexdata.com>
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.) ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <mike@indexdata.com>