2009/7/7に「PORTA(国立国会図書館デジタルアーカイブポータル)」はリニューアルが行われ、外部提供インターフェイスにもいくつか機能が追加された(OpenSearchにISBNの前方一致検索を追加します)。もう随分前になってしまったが、気になるとこだけピックアップ。
OpenSearchにISBNの前方一致検索を追加
OpenSearchも、マッシュアップには一番使うであろうISBNによる検索に対応した。手軽に使えて、返ってくるメタデータも詳しい(ブラウザで表示するとあんまり見えないので、ソースを表示してみてください)。
- isbn=9784805208038 でNDL蔵書目録を検索
http://api.porta.ndl.go.jp/servicedp/opensearch?dpid=zomoku&isbn=9784805208038
SRU追加とCQL1.2対応
SRWのリクエストをREST(URLによるリクエスト)にしたSRUに対応した。SRWはSOAPを使うため、何かとめんどくさいが、SRUはURLに検索式を埋め込むので非常に楽。また検索式もCQL1.2に対応することで、検索クエリ中に並べ替えを指定することができるようになった。前の記事にいただいたコメントにもあるようにSRW/CQL1.1のsortKeysによる並べ替えは現時点でも実装されていないが、このCQL1.2による並べ替えはちゃんと実装されている。
- title = library でNDL蔵書目録を検索(タイトル昇順)
http://api.porta.ndl.go.jp/servicedp/SRUDp?operation=searchRetrive&maximumRecords=10&recordSchema=dcndl_porta&query=title+%3D+library+AND+dpid+%3D+zomoku+AND+sortBy+%3D%22title%2Fsort.ascending%22 - title = library でNDL蔵書目録を検索(タイトル降順)
http://api.porta.ndl.go.jp/servicedp/SRUDp?operation=searchRetrive&maximumRecords=10&recordSchema=dcndl_porta&query=title+%3D+library+AND+dpid+%3D+zomoku+AND+sortBy+%3D%22title%2Fsort.descending%22
OAI-PMHに対応
これ、ほんとにいいの?と思える大盤振る舞い。OAI-PMHは電子リソースのメタデータを網羅的に収集するためのプロトコル。より詳しくはWikipediaか国立情報学研究所によるドキュメントの和訳あたりを参照。ようは、PORTAが持ってるメタデータを網羅的にダウンロードできて、アップデートにもちゃんと対応できるわけで、これはかなり画期的。
- 2009-10-09にPORTAに登録されたNDL蔵書目録のコンテンツ
http://api.porta.ndl.go.jp/servicedp/oai2?verb=ListRecords&metadataPrefix=dcndl_porta&set=zomoku&from=2009-10-19&until=2009-10-19
このサンプルで返ってくるデータは一部で、末尾に書かれたtoken(resumptionToken要素に書かれている。なお、この要素のcompleteListSizeに検索式に対するレコードの全数が書かれている。この例では6971件)をパラメータにリクエストすることで、続きのデータを得られる。このときは、下記のようにverbとresumptionTokenだけを指定してリクエストする。
なお、日によってはものすごい膨大な量のデータを登録してるようなので、ハーベストしようと思ってる人は注意が必要。
itemnoによる検索に対応
これまではPORTAで特定の1つの書誌を取得したい場合は、ISBNなどを利用するしか無かったが、PORTAでのIDであるitemnoでの検索に対応した(SRW/SRUのみ)。実は2009/7/7時点ではこの機能が実装されてなかったので、PORTAの中の方に問い合わせを行ったところ、先日実装されたことをお伝えいただいた。ただし、データベース構造上、repositoryidを指定する必要があるらしく、repositoryidとitemnoを半角ハイフンでつないだものをitemnoとして指定することで、目的の情報を取得できる。IDで情報取得できるのは、マッシュアップにはよいですね。他の方法に比べて速いし。