読者です 読者をやめる 読者になる 読者になる

ダイナミックナレッジベースとしてのOJNavi

はじめに

どこでもリゾルバの機能追加。

http://haseharu.org/labs/d_resolve/about.php

Google Scholarを追加し、OJNaviも追加してみました。Google Scholarは通常の検索対象のサービスとして追加し、OJNaviはCiNii Articles上でどこでもリゾルバを使用した場合のみリンクとして出現します。

Google Scholar

Web API的なものはないのでスクレイピング対応です。他のサービスと同様「タイトルベース」で検索した結果をスクレイピングしています。

OJNavi

上と同じく、Web API的なものはないので、スクレイピング対応です。ただし、タイトルではなくCiNii APIを通じてISSNを取得してISSNでの検索をした結果をスクレイピングしてます。Li:d techメンバーからNDL SearchやCiNii Articlesで書誌情報だけは出てくるけど、そこには書誌だけでフルテキストへのリンクがない、検索エンジンでもヒットしづらい論文がある、という声があったので、それならじゃあ、とOJNaviをみなしダイナミックナレッジベースとして取り入れてみました。

“オープンジャーナルナビゲーター(OJNavi)”、公開:無償電子ジャーナルの検索システム
http://current.ndl.go.jp/node/24369

先に書いた通り、CiNii Article上でどこでもリゾルバを起動させた場合しかOJNaviへのリンクはでません。

ちょっと整理

国内のNII,NDL,JSTをはじめとしたサービスへのタイトルベースでの横断検索と検索エンジンとしてのGoogle Scholarへのタイトルベースでの検索、に加えてOJNavi収録の有無をCiNii Articlesからチェックし、OJNaviの示すリソースリンク先までをシームレスにたどれるようになりました。

こまごまと修正

各サービスへの問い合わせは全て「並列」でやっていて高速処理化しています。あと今回、日本語文字列が入っているケースの場合は、Pubmed, arXivへの検索はかけないようにしたので少し処理を軽減。Bookmarkletにバージョンのチェック機能を追加しました。古いバージョンのBookmarkletを使っていると下記のように表示がでます。

f:id:haseharu:20131230174128p:plain

おわりに

今回のケースに関してもデータベースとして機能させるのか、ナレッジベースとして機能させるのか、有用なデータがあればあるほど機械可読なシステム設計かどうかの差は大きいと感じています。Web API的なものがなければスクレイピングするだけですが、やはりWeb API的なものを公開して欲しいなあと*1

*1:という自分が公開していない