Z39.50は、遠隔の
データベースに対して情報検索を行うためのクライアント・サーバ型の
通信プロトコルです。ANSI/NISO標準およびISO国際標準(ISO 23950)として規格化されており、その管理は米国議会
図書館が行っています。
概要
Z39.50プロトコルは、異なるプラットフォーム上で動作するオンライン検索システム間の相互運用性を確保するために開発されました。これにより、総合目録システムや統合検索が実現されやすくなりました。1990年代には欧米の
図書館業界で広く採用され、
図書館管理システムや個人用の参考文献管理ソフトウェアなどで利用されています。また、
図書館間の相互貸借のための蔵書検索も、Z39.50を通じて行われることがあります。
Z39.50の開発は
1970年代に始まり、
1988年、
1992年、
1995年にそれぞれプロトコルの第1版から第3版が発表されました。情報検索に関わる要求として、検索(Search)、表示(Retrieve)、ソート(Sort)、索引語ブラウズ(Scan)など、多くの機能が提供されています。検索要求は「アトリビュート」と呼ばれる属性を用いて表現され、通常は「Bib-1」アトリビュートセットが利用されます。
課題
Z39.50は多機能な
通信プロトコルであるため、実際の実装では、すべての機能を網羅しているわけではなく、実装依存となる部分があります。Z39.50の文法は、検索対象となる
データベースの構造から抽象化され分離されています。例えば、クライアントが著者名検索(アトリビュートUse=1003)を指定した場合、その検索が
データベース側のどの項目にマッピングされ、どのように実行されるかはサーバ実装に依存します。これにより、クライアントは
データベースの構造を知らなくてもZ39.50による検索式を発行できますが、同じ検索式でもサーバによって異なる結果が返ってくる可能性があります。
例えば、あるサーバは著者索引を使って結果を返しますが、別のサーバでは個人名索引から検索したり、また別のサーバではキーワード検索を行ったり、あるいは対応しないエラーを返すこともあります。この課題に対処するために、Bathプロファイルが提案されました。これは、書誌検索における検索書式を明確に規定し、Bathプロファイル対応のサーバにおける検索要求に対する挙動を規定するものです。Bathプロファイルの普及はゆっくりですが、Z39.50の弱点を補うものとして注目されています。現在、Bathプロファイルはカナダ国立
図書館公文書館が管理しています。
ZINGとSRU/SRW
Z39.50はWWW出現以前の技術であり、ウェブ普及後の現代的な環境に適合するように作り変える試みも進められています。これらの試みはZING (Z39.50 International: Next Generation) というグループと仕様群にまとめられ、新たな方向性を打ち出しています。特に重要なのは、Search/Retrieve via URL (SRU) と Search/Retrieve Web Service (SRW) の2つの仕様です。これらの仕様は、Z39.50の
通信プロトコルを廃止し、HTTPプロトコルをベースとしていますが、検索要求の構造といった利点を活かしています。
SRUはRESTに基づいており、検索要求をURLのクエリ文字列で表現できるようにしています。一方、SRWはSOAPを使用し、検索要求をXMLベースで送信します。どちらのプロトコルも、サーバからの応答にはXMLを使用することを前提としています。これらのプロトコルは、広く普及している
Webサービス向けツールを採用することで、
図書館向けソフトウェアという比較的狭い市場でも適用しやすくなり、Z39.50プロトコルよりも開発者の参入障壁が低くなることが期待されています。また、Z39.50仕様に基づいた検索式記述言語であるCQLも開発されました。
参照文献
Wide Area Information Server (WAIS)
外部リンク
Z39.50 Maintenance Agency
Z39.50 標準 (2003年版) (pdf)
Z39.50 サーバの一覧
Bathプロファイル
SRU
ソフトウェア
Z39.50 Object-Orientation Model (ZOOM) - Z39.50用オブジェクト指向API
YAZ Toolkit - Z39.50, SRU/SRW 対応ライブラリ
*
JZKit - Java用Z39.50ライブラリ