記事一覧タグ一覧7月のPORTAリニューアルについて2009年10月27日webapiportandl2009/7/7に「PORTA(国立国会図書館デジタルアーカイブポータル)」はリニューアルが行われ、外部提供インターフェイスにもいくつか機能が追加された(OpenSearchにISBNの前方一致検索を追加します)。前になってしまったが、気になるとこだけピックアップ。OpenSearchにISBNの前方一致検索を追加OpenSearchも、マッシュアップには一番使うであろうISBNによる検索に対応した。手軽に使えて、返ってくるメタデータも詳しい(ブラウザで表示するとあんまり見えないので、ソースを表示してみてください)。NDL蔵書目録を検索http://api.porta.ndl.go.jp/servicedp/opensearch?dpid=zomoku&isbn=9784805208038SRU追加とCQL1.2対応SRWのリクエストをREST(URLによるリクエスト)にしたSRUに対応した。SRWはSOAPを使うため、何かとめんどくさいが、SRUはURLに検索式を埋め込むので非常に楽。検索式もCQL1.2に対応することで、検索クエリ中に並べ替えを指定することができるようになった。前の記事にいただいたコメントにもあるようにSRW/CQL1.1のsortKeysによる並べ替えは現時点でも実装されていないが、このCQL1.2による並べ替えはちゃんと実装されている。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%22OAI-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だけを指定してリクエストする。http://api.porta.ndl.go.jp/servicedp/oai2?verb=ListRecords&resumptionToken=2009-10-19%2F2009-10-19%2Fzomoku%2Fdcndl_porta%2FR000000001-I000878185なお、日によってはものすごい膨大な量のデータを登録してるようなので、ハーベストしようと思ってる人は注意が必要。itemnoによる検索に対応これまではPORTAで特定の1つの書誌を取得したい場合は、ISBNなどを利用するしか無かったが、PORTAでのIDであるitemnoでの検索に対応した(SRW/SRUのみ)。実は2009/7/7時点ではこの機能が実装されてなかったので、PORTAの中の方に問い合わせを行ったところ、先日実装されたことをお伝えいただいた。データベース構造上、repositoryidを指定する必要があるらしく、repositoryidとitemnoを半角ハイフンでつないだものをitemnoとして指定することで、目的の情報を取得できる。IDで情報取得できるのは、マッシュアップにはよいですね。他の方法に比べて速いし。