3. LIMEDIO におけるZ39.50の適応事例
[宮本]RICOHの宮本と申します。 LIMEDIOの中でZ39.50にどのように取り組んでいるかについて発表したいと思います。 簡単すけが、LIMEDIOの中でZ39.50サーバをどのような位置づけで、 どのように提供しているかですが、 LIMEDIOのWeb版のOPACを中心に、インターフェースのみのいれかえたのみの 位置づけであります。
LIMEDIOは Web版のOPACに特化した検索用のデータベースを 雑誌と図書のカタログデータベースをもとに作成しています。 先ほどの話にもありましたが、MARC21でBib-1で検索するというのにはかなり 無理があるデータベースの構造になっています。 その辺を適宜マッピングしながらやっているのが現状です。
サポートしているサービスはInit,Search,Presentまでで、 Type-1 queryでBib-1なんですが、これについては初回の研究会で 資料を出したものがホームページにもあがっているので、今回は省きます。 その時から内容は多少変わっており、所蔵とか少し加わっているところが ありますが、基本は変わっていないのであちらを参照して下さい。
返戻するレコードシンタックスはMARC21で、文字コードはUTF8固定にしています。 880は一切使っておらず、245や100は、日本語をそのままUTF8にして出しています。 今、LIMEDIOで何校かに入れさせていただいているんですけど、 先ほどユサコさんの発表にもありましたが、札幌医大さんのが 外に向かって見えています(2002.7.18現在、見えない模様)。 その他にも数校いれさせていただいて、評価していただいています。 あとlimedio.comというサイトをLIMEDIOで持っており、 そこにアクセスしていただければ見ることができます。 データ的には、どこかの図書館のデータをデモ用に借りているもので、 著作権的には問題がないこともありませんが、使わせていただいてます。
ここに例があります。245が日本語そのままです。 880を使う使わないで検討しているんでますが、 どう扱うかは議論はしていますが、決まってないということがありまして、 今はしばらくこのままでやっていこうかなと思っています。
もう一つLIMEDIOにはZ39.50とHTTPのGatewayというのを作っています。 まだ商品として形になってはいませんが、 慶應大学さんにもありますが、ブラウザを通して Z39.50の検索が見る ことができるものです。JavaAppletで見かけを格好よくしてあるのが特徴です。 この下に、プロセス構成が書いてあるんですが、スレッドを切って並列で 実行する仕組みです。 HTTPでGatewayサーバにリクエストを投げて、そこでZ39.50のクライアントが起き、 それぞれのZ39.50サーバに向かってリクエストし、そのレスポンスを返すと いう仕組みになってます。
これがAppletで作ったGatewayです。説明させていただきます。 これは今までのLIMEDIOのGUIですとかWeb版のOPACの デザインを無視して全く新しく作りました。 カテゴリというのを用意してありますが、これはサーバ側でセットします。 ここではLCとPubMedとLIMEDIOとNIIの海外向けのUTF8のZ39.50サーバを 置いてあります。 NLMのPubMedはHTTPに移ってしまっているので IndexData社が試験運用的に置いているPubMedを見ています。 どこのZ39.50サーバを見るかというのを選択して、"dental"で検索します。 するとAnimationGIFが動いて検索している状態が分かります。 これでSearchまでできてます。ここで例えばPubMedで結果を見に行くと、 今度はPresentで10件づつとっていきます。 ここがテキストビューとMARCビューで表示を切替ることができます。 PubMedは100と245しかないデータベースで、100もほとんどないですが、 これをデータをもってリンクする機能があり、 この「所蔵検索」や「抄録参照」のボタンががその機能で表示しています。 抄録参照はNLMのPubMedに検索にいくようにしてあります。 PubMedに限らず、 サーバ側でMARCのどのフィールドのどのサブフィールドをキーに検索式を 作る指定ができて、抄録参照は制御番号を持って検索にいく仕組みに なっています。 それから所蔵検索はOPACにつながるようになってます。 札幌医大さんで、この機能を利用しております。 あと、ここに文献複写というのがありますが、 札幌医大さんは文献複写を効率的にやりたいということだったので、 PubMedの情報を背負ってきて論文名や著者名を文献複写依頼まで 持っていき、あらかじめデータのある状態するという仕組みになっています。
日本語で検索します。UTF8でそのまま投げるようになってますので、 VoyagerとかPubMedは当然0件になってしまいます。
これのZ39.50ゲートウエイの仕組みは、 Searchが終わるとZのセッションは一回切れてます。 10件表示するときは、またSearchしてから 10件Present します。 次の10件を表示する時には、さらにSearchして、11件目から20件目をPresent します。
これがMARCで返戻されるデータで、テキストビューの方には所蔵は出していません。 AppletなのでPCの側のパワーだとか、JAVAのプラグインを使ってますので 1.3.0以上であること等、クライアントの環境にディペンドしてます。 もう少しどこへでも動くようにはしたいのですが、現状はこうです。 これがAppletのGatewayのデモでした。
Gatewayをお客さまの所に置かせていただいて、 各サーバとの接続の実験をさせていただいているのですが、 問題が多く苦労が絶えません。
一つ目が、認証のあるサイトをどう扱うかということです。 半分パブリックなGatewayなので、例えばOvidのZのところを見に行った時に 誰がいつ認証するかということがあります。 サーバ側に持たせてしまって誰でも見れるようにするのが多分一番簡単ですが、 そうするとOvidとの契約に問題が発生すると思います。 あとは学内だけしか見えないよという縛りをHTTPDの方でかけられれば、 それで良いような気もしますが、 その辺がどうすればいいのかが分からないところです。 あと、必要に応じてユーザが個別に認証するということもできなくはないかなと 思っていますが、今のApplet版ではZのセッションが一回一回切れてしまうので、 ちょっと無理かなと思ってます。 今は認証をやらないと言い張っているのですが、 どうしても必要との声がかかったらどっちに転ぶか分かりません。
もう一つはレコード構文がMARC21だけに対応していることです。 BLがMARC21に対応しておらず、GRS-1とSUTRS なので、 何とかならないかと言われています。 MARCに依存したコーディングですので今はできないと思っています。 IndexData社にレコード構文に何を対応しているという統計みたいなのがあるの ですが、MARCは70%くらいで、MARCとSUTRS合わせればだいたい100%になるので SUTRSには対応しようかなとも思うのですが、 MARC以外は対応したらいいのか、しなくてもいいのか、ということが 分からない状態になっています。
最後に、文字コード変換というのがあります。 一番苦労したのがLCで、LCは文字コード変換は自分の所ではしない、 ということで、音標記号の前に変なコードが1バイト入ってくると ([入江]:ANSELだと思います)それを私どもの文字コード変換の フィルターにかけるとそれが壊れてしまうので ちょっと苦慮してます。 あとLCは880にまた違うコード([入江]:EACCです)が 入っているケースがあるみたいで、すべてがUTF8じゃないということが 分かってきました。 返戻されたデータが同じコードで来ることにしているので、 コードの変換の規則が適用できず、うまく表示できないケースが少なからず あります。 そのせいでGatewayのプログラムが止まってみたり、 Appletが止まってみたりいろいろなことが起こっており、苦労させられてます。
ここまでがZ関係の話で、 ここからはLIMEDIOの紹介をちょっとだけさせていただきます。
今やっているのが、ユニコード版LIMEDIOの開発中でデータベースそのものを UTF8化したものです。今までのデータベースはEUCだったんですけれども、 EUCのデータベースでは、ハングルとか中国語の文字とかは検索対象外 でしたが、これらも検索可にして、完全にユニコード化してマルチリン ガルにしますというのを、今開発中です。 商品化は、目録システムの部分とWeb版のOPACから商品化を予定しています。 この中でWeb版のOPACだけ特別に項目をあげたのですが、 NIIの漢字統合インデックスを用いた検索システムを 作ろうとしています。漢字一文字で検索されると、 ちょっと分からない結果がでてしまうことがあるんですけれども、 今は例えば毛沢東で検索すると中国語でもでますし、日本語でも出ますし、 台湾の古い文字でも出ますし、というようなことが今できるようになりつ つあります。 来月LIMEDIOのプライベートセミナーを行ないますが、 そこではそれを出してお見せすることになっています。 UTF8版OPACと同時に、今までどおりSJIS版やJIS版はそのまま残して おくことにしています。 すべてのブラウザがUTF8を表示できるかというと、 多分もうしばらく無理だろうを思っています。 SJIS版は携帯端末版のOPAC用です。 最近はちょっと違ってきていますが、あれはSJISじゃないと表示できないので SJIS版も残ります。 ここに書いてありますが、LIMEDIOのOPACは検索DBを中心に、 Web版のインターフェースがあり、 携帯端末版のインターフェースがあり、 Zのインターフェースがある、仕組みになっています。 実はUTF8化ができれば、 Zも完全に内部がUTF8になりますし、漢字統合インデックスも使えるように なりますので、検索の性能がよくなるのかなと思ってます。 先ほど入江さんのおっしゃってたPositionだとかTruncationですが、 あの辺はLIMEDIO独自にデータベースの中に取り込んでしまっているので、 またマッピングの作業が発生するか、 少し概念を考えなければならないかもしれないです。
ISO/ILLの件です。 担当の開発の連中に聞いたところ、開発は完了してますがテストはまだで、 これからやっていきますと言うことでした。
あとは課題です。 Z39.50サーバの方は880を含めて、 何年か前に作ったフォーマットの見直し作業をしています。 次に Gatewayですが、システムのリンクの機能ですが、 先ほども言いましたけど、認証の宛先をどうすかですとか、 SUTRSとか、BLの扱い等を考えていかなければならないかなと 思っています。
以上です。
[入江]ありがとうございました。いろいろと面白い話がありました。880の話は、やはり悩むところも多いし、いいのかなと思うところも合って、最近中国も韓国のMARCも245に自分のキャラクターを入れているというのが多いし、それがLCのstandardになるという話もあるので、そこはもうちょっと話をしなければいけないでしょう。慶應にしても日本語はやはり245に欲しいというのがあって245に日本語いれていますから、そこはUTF8がもうちょっと話が進めば可能性があるのかなとは思っています。
それからANSELとEACCは泣かされます。ほんとにあれは大変なハンドリングです。RLINは880はEACCですし、245とかにANSELがはいってきますから、化けます。彼らはON THE FLYでUTF8に変換すると言いながら全然やっていないですから、相変わらずEACCとANSELはびっちり入ってきますので、でANSELはたまに変なところにぶつかってソフトを壊しちゃいますので大変だと思います。