情報知識学会第6回研究報告会講演論文集(1998.5.23)

Z39.50プロトコルによる日本語書誌データ情報
検索システム

○江草由佳
真野泰久
宇陀則彦
石塚英弘

Information Retrieval System for Japanese Bibliographic Data based on Z39.50 protocol

○Yuka Egusa
Yasuhisa Mano
Norihiko Uda
Hidehiro Ishizuka

概要:

This paper reports an information retrieval system for Japanese bibliographic data based on Z39.50 protocol. The system consists of a client which can access to any other Z39.50 servers, and of a server which provides Japan/MARC data to any other clients. The server facilitates AND/OR operation between results-sets as well as basic retrieval such as AND, OR, and truncations. The client has a connection window which displays 15 servers, and a retrieval one which displays number of results and data of ones.

はじめに

従来の書誌データ情報検索システムは、DIALOGに代表される多数の データベースを持つ集中型システムであったが、 欧米ではインターネットの普及によりネットワーク上に多くの 書誌データ情報検索システムが分散して存在する状況が出現した。 そして、クライアント/サーバ方式による標準情報検索プロトコル:Z39.50 が規定され、普及するようになった。 データベースを持つサーバと検索ユーザが使用するクライアントが Z39.50を用いてコミュニケートすることによって、 サーバ側から見れば、インターネットを通じてどこからでも ユーザのアクセスを受け入れることができ、 またユーザーにとっては使い慣れたクライアントで 多くのサーバのデータベースに検索できるようになる。 現在、欧米では、Z39.50を用いた検索システムは広く使われており、 Z39.50関連のプロジェクトはアメリカ議会図書館のZ39.50管理機構[1]に 登録されているだけで105ある。 その中の、地球観測衛星データの書誌検索データおよび観測データ注文を行なう システムについては文献[2]に紹介がある。

一方、日本ではまだZ39.50が注目され始めた段階で、 システム構築例は少ない。 Z39.50の紹介や欧米の事例の紹介としては文献 [3][4][5]などがある。 また、システム構築例としては文献 [6][7][8][9]がある。 安達は、学術情報センターの電子図書館システム:NACSIS-ELS[6] の中の検索機能にZ39.50を用いた。日本語による検索と結果表示ができる。 ただし、98年2月現在、クライアントから選択できるサーバは NACSIS-ELSのみである[10]。 安齋ら[7]は、WWW CGI-to-Z39.50インタフェースを開発し、 WWWブラウザから日本語で検索できる日本語書誌情報サーバを試作した。 原[8]は、WWWのZ39.50ゲートウェイを利用した基本サーバを構築した。 クライアントはIsiteソフトウェアパッケージの附属簡易クライアントを用いている。 日本語書誌データの検索例は報告されていない。 堀江[9]はZ39.50ゲートウェイによるJOISwithSTNシステムを開発した。 ここでSTN(The Scientific & Technical Information Network)は英語で書かれた欧米の科学技術分野のデータベース検索システムである。

そこで、本研究では日本語を扱い、かつ、他のサーバ/クライアントから 接続できるZ39.50に基づいたサーバとクライアントを作成した。

Z39.50

Z39.50[11]はクライアント/サーバモデルに基づいた 情報検索のための通信プロトコルである。

Z39.50はクライアントサーバ間でやり取りする値を PDU(Protocol Data Unit:プロトコルデータ要素)として転送する。 クライアント/サーバ間のやりとりはまず クライアントからRequest PDUが出され、それに対しサーバはResponse PDUを 返すという形でコミュニケーションをとる。

Z39.50の基本的な機能は接続(Initialize)、 検索(Search)、返戻(Present)の3つである。 接続機能はZ39.50セッションを開始するためのもので、 プロトコルのバージョン、サポートする機能、 クライアントの情報、サーバの情報などをやりとりする。 検索機能は、実際に検索を行なうもので、 検索質問、検索質問の構造、データベース名、ヒットした件数、 検索の状態(検索に成功したかどうか)などをやりとりする。 返戻機能は検索結果からレコードを返戻するもので、 返戻する数、返戻結果の形式(USMARC、SUTRS)、 エレメントセットネーム(簡易、詳細)、実際のレコードデータなどをやりとりする。

システム毎に異なる検索質問の構造や検索結果の構造は、 1つのクライアントから、様々なサーバへのアクセスを妨げていた 原因であるが、これはZ39.50を使用することにより解決される。

まず、Z39.50では従来システム毎に異なっていたアクセスポイントの構造を、 包括的なスキーマを定義し、実装する際にこれを実際のアクセスポイントに マッピングすることで対処している。書誌情報に対するスキーマは 2つの数字の組合せで表されるbib-1アトリビュートで定義されている。

つまり、このbib-1で書名、著者名、 前方一致、後方一致、word、phrase など様々な検索データの特性を表現できる。 また、検索結果は、MARC形式やプレインテキストであるSUTRS形式など様々な 形式を用いることにより対応している。

ユーザはZ39.50に基づいた検索クライアントを使うことにより、 システム固有のインタフェースに習熟する必要なしに、また、 システムの違いを意識することなしにZ39.50を用いた 検索サーバにアクセスし、検索できる。 また、WWWのHTTPと異なり、Z39.50ではセッションを維持したまま検索ができる ため、検索履歴を利用した検索も可能である。

システムの概要

  image of IR system
図 1: 検索システムのイメージ

本研究では日本語書誌データベースを検索するために サーバとクライアント二つのシステムを UNIXワークステーション上で開発した。 図1にシステムの概念図を示す。 左がクライアント、右がサーバを表す。 サーバはデータに日本語のJapan/MARCを持ち、 Z39.50を介した検索要求に答える。 またクライアントは検索語の日本語入力、検索結果の日本語表示を可能とし、 Z39.50を用いた様々なサーバにアクセスし検索することができる。 また同様に、サーバもZ39.50に基づいた様々なクライアントからの検索要求を 受けることができる。

なお、クライアント・サーバともに、日本語文字コードにはEUCコードを使用した。 また、システム構築の際に利用したシステム構築ツール、プログラミング言語は EUCコード対応のものを用いた。

サーバの構成と機能

サーバーはプロトコルエンジン、コントロールモジュール、データベースエンジン と3つの部分で構成される。

サーバーはクライアントからの要求をプロトコルエンジンで 受け取ると、受け取ったPDUを解析しコントロールモジュールに渡す。 コントロールモジュールは、クライアントからの要求が、検索や返戻であれば SQLに変換してOracle7にアクセスする。 Oracle7はSQLによって得られた検索結果をコントロールモジュールに返す。 コントロールモジュールはプロトコルエンジンに返し、 プロトコルエンジンは、PDUに変換しクライアントに送る。 検索結果レコードはプレインテキストであるSUTRS形式で クライアントに渡される。

サーバの機能には、接続機能、検索機能、返戻機能がある。 接続機能は、クライアントとの接続をする機能である。 複数のクライアントを同時に接続できる。 検索機能では、クライアントからの検索要求に答える機能である。 サポートする検索は、書名と著者名をアクセスポイントとした検索、 検索履歴を利用した検索である。 返戻機能ではクライアントに検索レコードを返戻する機能である。 返戻するレコード形式はSUTRSである。

クライアントの構成と機能

クライアントはプロトコルエンジンとGUIで構成される。 本研究で開発した検索クライアントは YAZを利用してプロトコルエンジンを、 Tcl/Tkを用いてGUI部分を開発した。 ユーザーからの入力は、プロトコルエンジンが適切なPDUに変換し サーバに渡す。 サーバからの結果を受けとると、受けとったPDUを解析して、ウインドウに表示する。

クライアントの機能には、接続機能、検索機能、返戻機能がある。 接続機能はサーバと接続する機能である。 検索機能はサーバに検索要求を出す機能である。 著者や書名などのアクセスポイントを指定した検索、 前方一致や後方一致、 履歴を利用した検索などができる。 返戻機能はサーバに返戻を要求する機能である。 レコード数を指定した返戻、履歴を利用した返戻、 エレメントセットネーム(詳細、簡易)を指定した返戻などがある。 また、結果レコードの形式は、SUTRS, USMARCなど8種類ある。

システムの実行例

  image of No.2
図 2: 接続ウインドウ

  image of No.3
図 3: 検索ウインドウ

2は接続ウインドウの画面である。 接続ウインドウではサーバとの接続を行なう。 クライアントには15サーバの情報 (IPアドレス、ポート番号、データベース名)を登録しており、 接続ウインドウにそのサーバのリストが表示される。 ユーザはそのリストから接続したいサーバをクリックして選択する。 図2は、本研究で開発したJapan/MARCサーバを選択しているところである。 また、キーボードからサーバの情報を入力することで リストにないサーバに接続することもできる。

3は検索ウインドウの画面である。 検索ウインドウでは検索をしたり、検索結果の表示を行なう。 検索式は検索式入力フォームにキーボードから入力する。 検索ウインドウの初期状態は検索式入力フォームの色が変わっている。 これは、ユーザが次に入力すると予想される ボタンやフォームは色が変わり強調されるようにしたからである。

検索式は検索式入力フォームにキーボードから入力する。 検索式の書式はYAZとおなじものを採用した。 アクセスポイントを利用した検索や検索履歴を利用した検索が行なえる。 検索式を入力しsearchボタンをクリックすると検索結果集合番号、検索式、 ヒット件数が検索結果表示部分に表示される。

返戻結果の表示では、 B、Fボタンをクリックすることで簡易表示(Brief)・詳細表示(Full)の選択、 返戻形式メニューでUSMARCやSUTRSなどのレコード形式の選択が行なえる。 showボタンをクリックすると返戻表示部分に直前の検索結果のレコードが表示される。 また、返戻入力フォーム(左から:検索結果集合番号、 開始レコード番号、終了レコード番号) にキーボードから入力することで、以前に検索したレコードの返戻や、 結果集合の一部のレコードの返戻を行なうことができる。

  image of No.4
図 4: 検索ウインドウ:Japan/MARC検索サーバ

  image of No.5
図 5: 検索ウインドウ:サーバ名:Wisconsin-madison

4は本システムのサーバを検索しているところである。 検索を順に追うと、

  1. 「図書」を検索 ヒットした件数が68件
  2. 「情報」を検索 ヒットした件数が52件
  3. 1番目と2番目の検索結果集合のAND検索 ヒットした件数が2件

3番目の検索式の''@set 1''は1番目の検索集合を''@set 2''は 2番目の検索集合を指している。 @andはそのANDをとるという意味である。 返戻結果表示部分は3番目の検索結果集合を表示しているところである。

5はWisconsin Madison大学のサーバに検索しているところである。 検索を順に追うと、

  1. 「書名にlibrary」を検索 ヒットした件数が5660件
  2. 「著者名にLancaster」を検索 ヒットした件数が480件
  3. 1番目と2番目の検索結果集合のANDをとる検索 ヒットした件数が9件

検索式のアクセスポイントの指定はbib-1を元に指定しており、 たとえば1番目の検索式「@attr 1=4 library」の ''@attr 1=4''は書名を表す。 返戻結果表示部分は3番目の検索結果集合を表示している。

考察

Z39.50は異なる検索システムを相互に接続し、利用とすることを目的としている。 そのため、Z39.50クライアント、サーバともに一つだけではなく、 他のZ39.50サーバとクライアントに接続できる必要がある。

本研究で開発したサーバ・クライアントはZ39.50 の定義するクライアント/サーバモデル に忠実に開発しているので、サーバ・クライアントそれぞれ 単独に利用可能である。 そのため、クライアントは本システムのJapan/MARCサーバはもちろん、 他のZ39.50サーバにアクセスし検索することができる。 また同様にサーバも本システムのクライアントからだけではなく、 他のZ39.50クライアントからの検索要求に答えることができる。

日本語を扱う時には、 クライアント/サーバ間で扱っている文字コードが異なると、 お互いに検索、返戻時に認識できないコードを受け取ることになり、 表示や、検索が行なえない不都合が生じるが、 Z39.50ではISO-2022、ISO-10646(Unicode)もしくは クライアント/サーバ間で合意した文字コードを 使うことができ[14]、 文字コードの折衝は接続の時に行なう[15] と規定している。 本システムではEUCコードを用いたため、 開発したクライアントはEUCコードを扱えるサーバならば 日本語で検索することができる。 また、同様にサーバもEUCコードを用いるクライアントからの 日本語を用いた検索に対応できる。

最近、書誌データを図書からマルチメディア資料に拡張した「メタデータ」 が注目されている。Z39.50システムはメタデータとの関連においても、 ますます重要になってくると思われる。

おわりに

本研究では日本語書誌データを扱ったZ39.50検索サーバと 日本語入力・日本語表示ができるZ39.50検索クライアントを それぞれ構築した。

謝辞

本研究用のデータとしてJapan/MARCを使うことを許可して くださった国立国会図書館の関係各位に深く感謝いたします。

参考文献


1
Z39.50 Maintenance Agency. Z39.50 Register of Implementors
<URL:http://lcweb.loc.gov/z3950/agency/register/entries.html>

2
祖父江 真一, 新井 康平, 落合 治. 地球観測衛星データ用の相互運用プロトコル. 情報処理. Vol.39, No.3, p.222-228(1998.3)
3
牛崎 進.Z39.50---IRサービスの通信プロトコル---.カレントアウェアネス. No.175, p.4(1994)
4
上田 修一. Z39.50の可能性と問題点. 三田図書館・ 情報学会研究大会予稿集 (1996.11)
5
特集:Z39.50:情報の科学と技術. Vol.48, No.3, p.125-180(1998)
6
安達 淳. 電子図書館成立の条件. ディジタル図書館. No.1, p.23-27(1994)
7
安齋 宏幸, 山本 毅雄, 石塚 英弘. Z39.50を用いた 日本語書誌情報サーバの試作. 情報処理学会情報学基礎研究会報告. Vol.96, No.116, p.9-16(1996.10)
8
原 修."情報検索プロトコル ANSI/NISO Z39.50 に対応した 基本サーバの構築".学術情報センター・セミナー研究レポート. 文部省学術情報センター編.東京,文部省学術情報センター,1997,p.1-40
9
堀江 隆.JOISwithSTNシステムの開発 ---Z39.50によるゲートウェイ---, 情報管理. Vol.40, No.8, p.692-701(1997.11)
10
学術情報センター.学術情報センター電子図書館サービス専用クライアント・ソフトウェア3.0利用の手引.
<URL:http://www.nacsis.ac.jp/els/man/txt-j.html>

11
ANSI/NISO Z39.50-1995.Information Retrieval (Z39.50) : Application Service Definition and Protocol Specification
<URL:http://lcweb.loc.gov/z3950/agency/>
12
Index Data.Index Data homepage.
<URL:http://www.indexdata.dk/>
13
Eric Armstrongほか. Oracle7 Server 概要. 第6版. 東京, 日本オラクル株式会社, 1995, 299p.(6693-70-1292.ja6) 他 38冊
14
Z39.50 Maintenance Agency. Z39.50 and multi-national/multi-lingual environments
<URL:http://lcweb.loc.gov/z3950/agency/indexing/makx.html>
15
Z39.50 Maintenance Agency. Character Set and Language Negotiation
<URL:http://lcweb.loc.gov/z3950/agency/defs/oid/charsets.html>
図書館情報大学
(University of Library and Information Science)

この文書について...

この文書は LaTeX2HTML 翻訳プログラム Version 95 (Thu Jan 19 1995) Copyright © 1993, 1994, Nikos Drakos, Computer Based Learning Unit, University of Leeds, を日本語化したもの(95 (Wed Mar 1 1995) 版)を用いて生成されました。

コマンド行は以下の通りでした:
jlatex2html -split 0 -no_navigation wwwgenkou.tex.

翻訳は Yuka Egusa によって Sat Jul 25 12:47:47 1998 に実行されました。


Yuka Egusa
Sat Jul 25 12:47:47 1998