zeerex – an explain mechanism for srw/u

22
Rex – an Explain Mechanism for SRW/U Mike Taylor <[email protected] eRex – an Explain Mechanism for SRW 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?

Upload: jorn

Post on 11-Jan-2016

33 views

Category:

Documents


0 download

DESCRIPTION

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 < [email protected] >. What ZeeRex is. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ZeeRex – an Explain Mechanism for SRW/U

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?

Page 2: ZeeRex – an Explain Mechanism for SRW/U

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.

Page 3: ZeeRex – an Explain Mechanism for SRW/U

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.)

Page 4: ZeeRex – an Explain Mechanism for SRW/U

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

Page 5: ZeeRex – an Explain Mechanism for SRW/U

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

Page 6: ZeeRex – an Explain Mechanism for SRW/U

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

Page 7: ZeeRex – an Explain Mechanism for SRW/U

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.

Page 8: ZeeRex – an Explain Mechanism for SRW/U

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]>

Page 9: ZeeRex – an Explain Mechanism for SRW/U

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]>

Page 10: ZeeRex – an Explain Mechanism for SRW/U

ZeeRex – an Explain Mechanism for SRW/U Mike Taylor <[email protected]>

How we got where we are

Splain,

Explain<<<<

Explain&lt;&lt;&lt;&lt;

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:

Page 11: ZeeRex – an Explain Mechanism for SRW/U

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.

Page 12: ZeeRex – an Explain Mechanism for SRW/U

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>.

Page 13: ZeeRex – an Explain Mechanism for SRW/U

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.

Page 14: ZeeRex – an Explain Mechanism for SRW/U

<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

Page 15: ZeeRex – an Explain Mechanism for SRW/U

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

Page 16: ZeeRex – an Explain Mechanism for SRW/U

<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

Page 17: ZeeRex – an Explain Mechanism for SRW/U

<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

Page 18: ZeeRex – an Explain Mechanism for SRW/U

<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

Page 19: ZeeRex – an Explain Mechanism for SRW/U

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.

Page 20: ZeeRex – an Explain Mechanism for SRW/U

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.

Page 21: ZeeRex – an Explain Mechanism for SRW/U

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?).

Page 22: ZeeRex – an Explain Mechanism for SRW/U

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.)