「国立国会図書館サーチ(開発版)」の公開に寄せて (1)

 本日、「国立国会図書館サーチ(開発版)」(以下 "NDL Search")が公開されました。このサービスでは、私たち Project Next-L の開発している図書館システム"Next-L Enju"が利用されています。
 Enjuの開発には、さまざまな方々から多大なるご協力をいただきました。また、このサービスはEnjuだけでなく、書誌の収集や同定など、多くのシステムで構成されているものであり、それぞれのシステムに多くの方々が携わっています。関係者のみなさまには、ここで改めてお礼を申し上げます。ありがとうございました。

 NDL Searchそのものに対しては稿を改めるとして、まず現在のEnjuのことから触れさせていただければと思います。

 改めてProject Next-Lの初期に書かれた「このプロジェクトについて」を見ると、プロトタイプとはいえども最も早い段階で、中小規模の図書館ではなく国立国会図書館が採用するというのは、予想だにしない展開だったと感じています。とはいえ、Enjuが目指すものは蔵書数千冊の図書室だろうが国会図書館だろうが、さまざまな図書館とそこにいる人たち(図書館員も利用者も)が関わることのできるシステムなので、多くの人々が触れる機会のあるサービスに採用していただけたのは、この上なくありがたいことです。ぜひ一度お試しの上、ご意見やご感想をお寄せいただければと思います。

 最近は"Goverment 2.0"という言葉を聞くようになりましたが、その領域の一部である書誌情報の流通や図書館のシステムに関するものだけでも、今回のNDL Searchに加え、レファレンス協同データベースリサーチ・ナビの拡張、CiNii, WebCat Plus, J-GLOBALの強化、カーリルの登場やlibrahack事件での議論、Code4Lib Japanの設立など、非常に活発な取り組みが行われています。Project Next-LとNext-L Enjuも、これらの取り組みにおける力となれるように、引き続き活動と製作を進めていきますので、なにとぞよろしくお願いいたします。

 ちなみに現在のNext-L Enjuの開発は、総合目録用のenju_rootと各図書館の業務用のenju_leafの2系統に分かれていますが、NDL Searchはenju_rootをカスタマイズしたものになっているはずです。また、NDL Searchの開発時点ではenju_rootはRails 2.3で動作していましたが、その後はenju_rootもenju_leafRails 3への対応を進めており、いずれにしても現在ソースコードリポジトリで公開しているものとNDL Searchで使用しているものは、中身が大きく異なっているものと思われます。ただ、NDL Search向けのカスタマイズ部分もオープンソース化されるとのことですので、どのような工夫がなされているか、期待して待ちたいと思います。

カーリルAPIコンテストに参加してきました

 先日行われたカーリルAPIコンテストに応募し、会場で発表をさせていただきました。残念ながら入賞には至りませんでしたが、会場の笑いは取れましたし、ほかの発表者の方々の作品やお話もおもしろかったので、参加の目的は十分に達成できました。主催者のNota.incの方々や審査員の方々、それに当日参加してくださいましたみなさま、どうもありがとうございました。
 デモを含めて発表の持ち時間が3分間しかなく、背景や前提を説明しきれなかったところがありますので、ここで紹介したいと思います。

Next-L Enju 紹介状発行プラグイン(カーリル版)とは?

 図書館管理システム"Next-L Enju"で、近隣の図書館の蔵書を検索して紹介状を発行するためのプラグインです。紹介状とは、他の図書館の資料を利用する際に、自分の使っている図書館から発行してもらう書類のことです(詳細は後述)。「資料を探す」という切り口でのアプリケーションは多数の応募が予想されたので、あえて「図書館の業務で使う」という視点でなにか作れないかと思って作成しました。プレゼン資料がWebに掲載されています*1

利用の流れ

 (以下はEnjuのデモサイトにログインした状態でお読みください)

 ユーザnabetaさんは「えんじゅ市」にある「みた図書館*2を利用しています。

 ある日、「これからホームページをつくる研究者のために―ウェブから学術情報を発信する実践ガイド (ACADEMIC RESOURCE GUIDE)」を読みたいと思って、「えんじゅ市立図書館」を検索してみました。検索結果によると、自分のふだん使っている「みた図書館」をはじめ、えんじゅ市内のどの図書館にも所蔵がありませんが、市外の近隣の図書館ではいくつか所蔵があるようです。

 市外の図書館を利用するためには、えんじゅ市の図書館から発行された紹介状を持参する必要がある決まりになっています。nabetaさんは近隣の図書館から「港区立麻布図書サービスセンター」を選び、「紹介状を印刷」というリンクから紹介状のPDFファイルをダウンロードして印刷します。

 nabetaさんは印刷した紹介状を所属館の司書さんのところに持って行き、はんこを押してもらいます。さらにnabetaさんはこれを持って、港区立麻布図書サービスセンターに行き、めでたく目的の資料を入手します。

予想される質問集

図書館で紹介状なんて聞いたことないんだけど

 プレゼンで説明したように、紹介状が必要なのは多くの場合大学図書館専門図書館で、逆に公共図書館では紹介状自体を必要としない場合がほとんどです。また、相互貸借で他の図書館の資料そのものを取り寄せることができる場合も多く、その際には紹介状は不要になります。
 現在カーリルが対応しているのは公共図書館専門図書館だけなので、仮にEnjuが今すぐどこかの図書館に導入されたとしても、現時点では実用になるのは専門図書館に関係する場合のみだと思われます。将来カーリルが大学図書館に対応すれば、実用になる機会が増えるのではないでしょうか。

「みた図書館」の検索結果に表示されているなら、その図書館にあるってことじゃないの? なんでわざわざ紹介状がいるの?
  • 資料の情報と所蔵情報(その資料がどこにある、という情報)は別物です。また、Next-L Enjuは所蔵していない資料であっても、システムに登録して検索対象に含めることができるようになっています。これは杉並区立図書館の蔵書検索が採用しているやり方です。
  • 人気が高く、購入や予約のリクエストが集中すると思われる資料については、発売前にシステムに登録し、予約を受け付ける図書館が存在します。またそのような資料は、所蔵している資料がすべて貸出中であったり、何十人もの予約待ちが入っていたりするなど、所蔵していても長期間にわたって当該資料を確保できない場合があります。
今時紙で紹介状?
わざわざ図書館まで行かなくてもいいように、オンラインで資料を入手できるようにしろよ

 まさにそのとおりです。この件はいろいろ事情があって心苦しく思っていますし、多くの関係者が問題解決のためにがんばっているところなのですが、それを書き始めると話題が大きく変わってきますので、ここではこれ以上は触れません。

プログラムの説明

 Enjuの初期設定時に、図書館の情報(名称や住所、電話番号など)を登録します。このとき登録された住所をもとに緯度と経度を取得し、データベースに保存します。Enjuでは緯度と経度の取得に、graticuleを使用しています。また、その緯度と経度をもとに、カーリル図書館データベースAPIを使って「近隣の図書館」のsystemidを取得し、データベースに保存します。

 資料の詳細画面が呼び出されると、Enjuはカーリル蔵書検索APIを使って、その資料を所蔵している図書館の情報を呼び出します。問い合わせに使われる情報は以下のふたつです。

  • その資料のISBN
  • 現在ログインしているユーザの所属館の「近隣の図書館」のsystemid

 ここで得た図書館の情報をPDF出力用のテンプレートに渡して、紹介状を出力します。

 PDF出力には、prawnprawntoを使っています。prawntoはオリジナル版の開発が止まっているようですが、github上でforkされたものがいくつか存在しています。今回はhuerlisiさんの版を使っています。

 EnjuRuby on Railsで構築されており、紹介状発行プラグインRailsプラグインとして実装されています。詳細はgithub上のソースコードをごらんください。

作ってみての感想

 現在のカーリル蔵書検索APIでは、返ってくる図書館の情報がsystemidと各図書館の略称しかないので、紹介状作成のために各図書館(分館)の正式名称や電話番号を得ようとすると、もう一度カーリル図書館データベースAPIにアクセスしなければならないのが少し面倒だと思いました。もっとも、キャッシュするなりローカルに保存しておくなりすればよいのですがね。

 あと、これは作ってみるまで全く気がつかなかったのですが、資料のデータベースは熱心に作成され、WebAPI化も進んでいる一方で、図書館そのもののデータベースが意外に整備されていないのですね。ここに着目し、大胆に実装したカーリルには脱帽せざるを得ません。
 図書館のURL、所在地、電話番号、開館時間などがきちんとWeb上のメタデータとして整備されれば、利用者の利便性だけでなく、図書館の業務の効率も大幅に向上するのではないかと思いました。カーリルの強化にも期待ですが、ほかに取り組みが期待できそうなのは「日本の図書館」などの統計資料を持っている日本図書館協会か、「ゆにかねっと」を持っている国立国会図書館でしょうか。いずれも何かというと頼ってしまう組織ですが、もちろん単に頼るだけのようなことはせずに、Project Next-Lでも企画の詳細を考えてみたいと思います。

*1:プレゼン資料では「Google Maps上に表示」とありますが、動作が重かったため、テキストでの単純な一覧表示に変更しました。

*2:「みた図書館」はあくまでも架空の図書館で、現地に実在する図書館とは関係ありません。念のため。位置情報って例を示すのに架空のものを使うわけにいかないところが難しい。

図書館総合展の予定

今年はフォーラムとポスターセッションの2本立てでの参加です。フォーラムのお題は「21世紀をリードするオープンソフトの図書館管理システムNext-L、いよいよ実用化へ」、ポスターセッションのお題は「Project Next-L 総合目録(仮)」です。

10日

日図協の「21世紀をリードするオープンソフトの図書館管理システムNext-L、いよいよ実用化へ」で発表を行った後は、基本的にポスターセッションの会場にいる予定です。途中、他のブースを見に行っていて不在の場合がありますが、戻る時間のメモを残しておく予定です。

11日

NIIの「CiNiiリニューアル記念 ウェブAPIコンテスト優秀作品発表会」、神奈川県資料室研究会の「神資研はチャレンジを続ける! −館種を超えたローカルネットワークがめざすもの−」、デジタルライブラリアン研究会の「貸出履歴を利用した新しい利用者支援の展開リターンズ 」を見に行く予定です。また、お昼休みはポスターセッション参加者によるプレゼンテーションを行います。なお、この日は現時点で夜の予定が空いています。

12日

午前中は基本的にポスターセッションの会場にいる予定です。お昼休みに、11日に続いてのポスターセッション参加者のプレゼンテーションを行った後は、三田図書館・情報学会の「書物のデジタル化:二つのアプローチ」に参加します。また、夜はARGフェストです。

図書館総合展は学生のときから皆勤ですが、全日程の参加はおそらく今回が初めてです。当日はお気軽に声をかけていただければうれしいです。

Re: FRBRって

 最初音楽で例を挙げたように、図書館のメインコンテンツである本でこれをやると分かりにくい。なぜかというと、本というのは著作〜体現形までが混然一体となって人に認識されるからです。音楽は物体でないから、体を持っている時と持っていない時の区別がつきやすいですが、本は最初から物体ですからして。源氏物語みたいな著名な古典は、体でなくそういう概念が頭の中にぼんやりあるからFRBRで語ることが可能だけども、一般の本はそうでない。著作=表現形=体現形なのです。だいたい古典でないと例を満足に挙げられない時点で、このモデルがいかに歪んでいるか分かろうというもの。こういうのは学者が理論で弄ぶべき類の概念であって、一般人には混乱の元です。じゃなきゃただの頭の体操。

図書館断想

 実際そのとおりで、FRBRのモデルはふつうの図書館ではおおげさすぎて、一般の利用者が使う限りでは、ManifestationとItemにあたる部分以外はそれほど必要とされないのではないかと思っています。これが活きるのは、図書館よりももっと厳密さの要求されるところ、たとえば博物館や文書館とか、書誌学の研究用途ではないでしょうか。

 とはいうものの、図書館の世界でも標準はこの方向に進んでいるように見えますし、それ以外の大きな動きも特に見受けられませんので、すっぱり無視するわけにはいかないのが悩みところです。

 各図書館が自分でWork/Expression/Manifestationの関連を管理するのは、量と質の両方の点で無理でしょうから、何らかの方法での関連づけの自動化や大規模な集中管理化は必須になるでしょう。それに、自動化で賄うことができないほど厳密さが要求される分野の資料であれば、その部分だけに手間をかけて作っていけばいいし、そういう需要がなければ自動化にまかせて、「これ変じゃない?」という指摘があったときに直すのでいいんじゃないかなあ、と思います。

 ちなみにProject Next-L Enjuでは以前から、Work/Expression/Manifestationの関連を管理するための部分と、Manifestation/Itemの関連(所蔵情報)を管理するための部分を、別々のシステムに分離する計画を持っています。前者が今回の学術情報オープンサミットで紹介する予定の「総合目録」に、後者が各図書館で運営する図書館システムに相当します。ただ、関連づけの自動化までは今回はおそらく手が回りません。

 んなことするぐらいなら、「体現形」的情報を書誌上にもっとよく記述したほうがよほどいいのです。つまり、本からの引き写し。

 たとえばRDAのドラフトに書いてあるだけでもたくさんありますね。

図書館総合展のフォーラム一覧のページがひどい件

 今年の図書館総合展のフォーラム一覧が公開されました。さっそく内容をチェックしようとしましたが、日付のリンクをクリックしても、ちっとも画面が切り替わりません。一覧のPDFファイルもまだ載ってないようだし、公開作業の手違いなのかな?

 1分くらい迷った後、Webブラウザのウインドウを下方向にスクロールすると、たしかに選んだ日付の一覧が表示されていました。切り替わっているのは画面の外側、モニタに映っていない部分だったのですね。

 以上2枚のスクリーンショットは、いずれもWebブラウザのウインドウを画面のほぼ縦いっぱいに広げた状態のものです。ぼくが使っているパソコンの画面のサイズは1440x900ピクセルで、決して小さくはないと思うのですが、このページを作った方はひょっとしてモニタを縦置きで使っているんでしょうか。

 申し込みのページは www.j-c-c.co.jp とは別のサーバにあるので、わざわざiframeを使って一覧表示を埋め込んでいるのだと思われますが、日付のリンクのすぐ下に一覧表示の部分を持ってこないと、一覧が切り替わったことに気がつかないのではないでしょうか。あるいは、一覧表示のウインドウを新しく開いてくれたほうがよっぽどましです。はっきり言って、ホームページを見ていてこれほど戸惑った経験は最近ありませんでした。

 このページは単なるフォーラムの一覧ではなく、来場者からの申し込みを受け付けるための、来場者・出展者・事務局のいずれにとっても重要なページだと考えます。事務局の方には早急な改善を期待しています。


 今年も図書館総合展での発表を行います。ネタはProject Next-L Enjuの最新の情報で、フォーラムでのセッション*1に加えて、学術情報オープンサミットのポスターセッションでの展示を行う予定です。ぜひお立ち寄りください。

*1:ついでに、一覧画面から各セッションの詳細画面へのリンクもきちんと設定してほしいです。

jlaschool.info

 せっかく早い時期からよい感じで公式の(ここが重要)コミュニティを作ろうとしていたのに、代替わりでごっそりなくなってしまうのはもったいないよな。2年も続いていたのに、誰も文句を言わなかったんだろうか。