図書館でAPIをスルメのように 味わうには 農林水産研究情報総合センター 林賢紀 [email protected] 神奈川県資料室研究会7月例会 2012年7月20日(金)14:00-16:00 神奈川県立川崎図書館2階ホール
図書館でAPIをスルメのように 味わうには
農林水産研究情報総合センター
林賢紀
[email protected] 神奈川県資料室研究会7月例会 2012年7月20日(金)14:00-16:00 神奈川県立川崎図書館2階ホール
• 柔らかくなるまで解説します!
(用語が)堅いかもしれません
• 新たな機能としてご検討下さい
システムご担当の方へ
• 知らないうちに使っているかもしれません
• 見えないところにAPI
目録・閲覧・ILLなどご担当の方へ
http://www.flickr.com/photos/ippei-janine/442885774/
講師略歴
• 1993年3月に現部署に採用 • ~2001年: Webサーバの構築、動画配信サービ
スなどインターネットを利用した研究成果の公開を担当
• ~2002年: 霞ヶ関で農林水産研究政策の企画立案を担当
• ~2008年: レファレンス、相互利用と図書館システム開発を担当
• ~現在: 図書雑誌の管理と図書館システム開発を担当
農林水産研究情報総合センター 概要
• 茨城県つくば市に所在
• 1978年10月発足
• 1984年4月より国立国会図書館支部農林水産省図書館の分館
• 農林水産省研究ネットワークを活用し 全国へサービスを行う
タイトル数 冊数 増加数(概数,年)
図書 169,245 189,551 3,200
雑誌 22,349 376,921 7,200
(平成23年度末)
主なサービス
• AGROPEDIAによる農学関係研究情報の提供
– 農林水産関係試験研究機関総合目録
– JASI(日本農学文献記事索引)
– AGROLib(農林水産文献ライブラリ)
– 研究成果情報
– 研究課題・業績データベース
– 写真でたどる農機具の発達史 その他
研究の実施から成果までを データベースで提供
研究計画の立案
研究の実施
成果を広報
論文・特許による普及
成果と評価
http://agriknowledge.affrc.go.jp/
研究成果の例:衛星画像などからイカのサイズを推定
サイズを把握して漁に出る!
サイズ小
18cm 刺身でおいしく
サイズ大
23cm 一夜干しにどうぞ
例:スルメイカの分布情報を リアルタイムに
• スルメイカの漁場位置や回遊範囲は水温と関係している • 衛星画像等から水温を把握、これで回遊場所とサイズを推定
解析に必要な 衛星画像情報を提供
APIとは?
APIとは
• Application Program Interfaceの略
• 手動ではなく、プログラムが自分で情報を取得するためのインターフェース
• アプリケーションの開発者が、他のハードウエアやソフトウエアの提供している機能を利用するための手法
• 受け渡す情報の書き方や手順を標準化することで汎用化
• Webで使用されるものは「WebAPI」とも呼ばれる
それ、図書館で使いますか?
例えば、横断検索
A図書館 B図書館 C図書館 D図書館
各館のOPACを解析してばらばらの検索結果を一つにまとめるインターフェースが必要
図書館ごとに作り込むのは大変
「データの出し方」をきめよう
A図書館 B図書館 C図書館 D図書館
同じ形式で返ってくれば集計も
簡単
個々のシステムからのデータをルールに基づいて変換
データの問い合わせ方、返し方を統一する
こんなこと、ありませんか?
夏休みの予定を明日までに提出願います
これじゃ集計できない…
翌日
フォーマットも作成した プログラムもバラバラ どうする?
なぜ図書館でAPIか-入口を増やす
OPACの入り口は 「図書館のOPACのWebページ」だけではない
OPAC検索画面 OPAC詳細表示画面
OPACサーバ サービスプロバイダ、
検索エンジン
検索エンジン、
ブラウザの検索バー
Webブラウザから利用
XMLでの
データ提供
なぜ図書館でAPIか-より多様な利用
OPACを「部品」として開放、 他のサービスプロバイダから利用可能に
複数のサービスプロバイダから選択して検索
サービスプロバイダ データプロバイダ
XMLでの
データ交換
例:「雑誌記事索引」はNDL
サーチでもCiNiiでも検索可能
=利用者はサービス内容でアクセス先を選択
汎用的な
APIの利用
図書館で使われているAPI
RSS OpenSearch SRU/SRW
OAI-PMH OpenURL NCIP
用途別に見る
• RSS
• ATOM
新着情報配信
• OpenSearch
• SRU/SRW
• OpenURL
検索
• OAI-PMH
メタデータ提供
• NCIP
資料の状態遷移
• 新着情報配信、検索、メタデータの提供など、様々な用途
• いずれも「Web上で情報をやりとりする」(=Webブラウザからでも利用できる)点は共通
WebAPIでよくある問い合わせ方法
• URLに検索語などを入れる
• CiNii Booksの例: URLに書誌IDを入れるとその書誌を表示
http://ci.nii.ac.jp/ncid/AN10038812 拡張子を付けるとXMLが表示される http://ci.nii.ac.jp/ncid/AN10038812.rdf
情報のありかをURLで指し示すことが重要
Permalinkは重要
• Permalink=「永続的なリンク」
• URLで情報を「指し示す」ことができるか?
• URLを変更しない
• 直接にリソースを参照することができる
• リンクがしやすい
• ブックマークなどでも便利
• 検索エンジンでヒットする
メリット:
WebAPIでよくあるデータの返し方
• 人間にはHTML、機械にはXMLを返すことが多い
• XMLがよく使われる
• スキーマは様々
– Dublin Core, MARCXML、RSSなどなど
• テキストに近い形式(JSON)なども利用される
「プログラム」が読むことが前提
相手にあった形式で
ヒトにも、キカイにもやさしい出力を
ヒトにはHTML キカイにはXML
APIとその機能
http://www.flickr.com/photos/gael/2422493224/
新着情報を取得する:RSS
• Webサイトの新着情報通知用に普及
• 図書館でも新着受入情報に使用
• 国立国会図書館ではNDL新着書誌情報(作成中書誌RSS)を配信
オレンジのアイコンが目印
(国立国会図書館の例)
RSSを読むためには
「このフィードを購読する」から「お気に入り」に入れて受入状況を随時確認できる
最新の巻号、受入日などを表示
「フィード」に追加されます
• Webブラウザ経由で購読
RSSの応用(1)
• 「転用」が容易
• 例:
– Webページへの貼付
– BlogやTwitterへの 自動投稿
(農林水産研究情報総合センターの例)
新着資料案内を 自動で更新
RSSの応用(2)
Twitterに 自動投稿
RSSの応用(3)
• ゆうき図書館の「新着雑誌記事速報」
– 国立国会図書館の雑誌記事索引のRSSを自館のサービスに取り込む
http://lib-yuki.city.yuki.lg.jp/room_ad/sokuhou-blog.html
http://www.flickr.com/photos/aoiakanemidori/2998210169/
検索サービスをする:OpenSearch
• Amazonの子会社、A9.comが開発
• 主として横断検索向けに開発
– 単体で利用されることが多い
• 検索エンジンの場所を特定するファイル(OpenSearch Descriptionファイル)を読み込み、検索結果をRSSなどで記述されたXMLで返す
• Webブラウザの検索バーなどにも利用
OpenSearchの例(1)
• 全く異なる分野のデータベースとの横断検索
OPAC上の書誌情報と、
PubMedを横断検索
(キーワード:BSE)
OpenSearchの例(2)
• Webブラウザの検索バーから検索可能に
主要な検索エンジンのほか、CiNii、NDLサーチなどが
対応
OpenSearchに対応させたい
• OpenSearch Descriptionファイルを作るだけ
• 実は難しくありません
• 詳しくは
林賢紀, “Firefox検索バー用のOPAC検索プラグインを自作する”.情報の科学と技術 58(5), 242-247, 2008-05-01 http://ci.nii.ac.jp/naid/110006656310/
検索サービスをする:SRU/SRW
• 情報検索のための仕組み
• SRU=Search/Retrieve via URL SRW=Search/Retrieve Web Service の略
• Z39.50を見直し、図書館以外の用途でも利用可能
メタデータを取得:OAI-PMH
• メタデータ交換のためのプロトコル (Open Archives Initiative Protocol for Metadata Harvesting)
• 情報検索ではなく主としてメタデータを収集する用途で利用
• 例:検索エンジンから機関リポジトリのメタデータを収集する
OAI-PMHの例
• 国立情報学研究所が機関リポジトリからメタデータを収集、 JAIROやCiNiiの検索対象に
各大学の機関リポジトリ
JAIROにメタデー
タを集積、検索サービスを提供
論文のメタデータはCiNiiでも検索可能
本文PDFは機関リポジトリを参照
OAI-PMH
書誌情報を記述:OpenURL
• 書籍・論文の書誌情報をURLで記述するための標準
• 文献データベース、リンクリゾルバ、電子ジャーナルはOpenURLを用いて相互にリンク
• 記述例:「ハリー・ポッターと不死鳥の騎士団」 url_ver=Z39.88-2004&rfr_id=info:sid/affrit%3Axerxes%3AGoogle+Book+Search+%28+Google+Book+Search%29&rft.genre=book&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.btitle=Harry+Potter+and+the+Order+of+the+Phoenix+
OpenURLとリンクリゾルバ
•電子ジャーナル (無償でアクセスできる 雑誌を含む) •OPACによる所蔵検索 •GoogleなどWebサイト 検索 •文献複写依頼
•文献データベースの 検索結果 •OPACの検索結果 •電子ジャーナルリスト •(SFXが自動的に生成) •Google Scholar •その他の検索システム等
リンクリゾルバ
中間窓を表示し 情報同士をリンク
データベース等の 検索結果から中間窓へ
(リソース)
中間窓から電子ジャーナル その他の原報入手手段へ
(ターゲット)
リンクリゾルバを介した書誌情報の送受信をOpenURLを利用して
標準化
OpenURLの応用:COinS
• Context Objects in Spans:spanタグを使ってHTMLにOpenURLを記述する
• 対応しているWebブラウザがこれを読み取りリンクリゾルバなどへのリンクを自動生成
• Zotero(文献管理ツール)などのプラグインが対応
HTMLで記述
COinS非対応
COinSに対応
リンクリゾルバへの リンクアイコン表示
資料の状態を見る:NCIP
• NISO Circulation Interchange Protocol
• 図書館資料の「状態」や貸出・ILLデータをやりとりするためのプロトコル
• 資料の「検索」ではなく、在架・貸出中・禁帯出など「状態」を返す
NCIPの利用例
• eXtensible Catalog(XC)で使用
• 目録データはOAI-PMHで収集し、所
在情報と状態はNCIPでその都度確認する
状態はリアルタイムに確認
書誌情報はあらかじめ蓄積
農林水産研究情報総合センターでの活用例
http://www.flickr.com/photos/maynard/2850157997/
API整備の方針
• 農林水産研究情報総合センターで整備する情報サービス、データベースの基本要件の一つとして課内で策定
– 横断検索やデータ提供に対応する
• 蓄積した情報をより多くのユーザに利用してもらうための手段と位置づける
• 各データベース相互の連携のほか、外部サービスからの利用も想定
外部連携の実績
• 国立国会図書館 – 国立国会図書館サーチ(旧PORTA)からの横断検
索に対応
• 国立情報学研究所 – CiNiiに日本農学文献記事索引のメタデータを提供
(近日公開予定!)
• 科学技術振興機構 – J-GLOBALに日本農学文献記事索引のメタデータを提供
• その他、各社リンクリゾルバにメタデータを提供
RSSによる新着情報配信
• 新着受入図書・雑誌のほか、任意の検索語での新着情報をRSSで配信
「統計情報」での最新の検索結果
OpenSearchでの横断検索
• 国立国会図書館サーチの連携先に
「連携先」を チェック!
OpenSearchをリンクリゾルバで利用
• OpenURLで受信した
書誌情報を元にOpenSearchでOPACとCiNii Booksを検索、
結果をリンクリゾルバ上に表示
OPAC検索結果
CiNii検索結果
OAI-PMHでのメタデータ提供
• 被災に備えたバックアップ用OPACの構築
農林水産研究情報総合センター (つくば)
データセンター (大阪?)
OAI-PMHで書誌・所在情報を毎日コピー
NCIPで所蔵状態を確認
つくばになにかあっても全国の研究所図書室の
所蔵が検索できる
効果
• RSSを元にGoogleなどのロボットが書誌情報を収集 → GoogleでOPACが検索できる!
書名でGoogleを検索し、検索結果のうち1ページ目からOPACにアクセスされ
ている
実際にあった話
• 某書店から問い合わせ: 「そちらの目録をインターネットで見ました。 ○○○という書籍を売ってもらえませんか?」
• 出版者から問い合わせ: 「うちで出版した△ △ △がGoogleで見つかったが、(勝手に)電子化しているのか? 」
• 「そちらの目録に掲載して頂いて有難い」
使われないAPIもある
• SRU/SRW
– 複雑な検索式に対応するなど、高度な検索が可能
– 国内外でそれほど普及していない
– 実装が難しい?
必ずしも「機能」で選ばれているのではない
まとめとこれから
• 知らないうちに使われているのがAPI
• 少しずつ使われはじめている
• 機能より、使い勝手で選ばれている
まとめ
• 見えないところでのシステム間の連携
• 本当のワンストップサービスには必要な技術
これから