OpenSearchによるデータベース検索

Last update 2012-07-27

概要

機械で検索しやすいようにOpenSearchによるAPIを提供します。OpenSearchの APIはOpenSearch API 1.1に準拠しています。HTMLのページで検索するのと同じように、いくつかのフィールドパラメータを組み合わせて検索可能です。以下の検索質問と応答のフォーマットについての記述を参照してください。
OpenSearchを利用される際は、こちらから、WebAPIキーの登録をお願いたします。
現在、本機能はWebAPIキー無しで自由にアクセス可能となっておりますが、将来的にAPIキーでのアクセス制限や新機能等が追加された際に、登録されたメールアドレスにお知らせいたします。

OpenSearchによる検索質問フォーマット

テンプレートを示します。

http://rns.nii.ac.jp/opensearch?q{field}={searchTerms}&start={startIndex?}&count={count?}&sort={sortOrder?}

*SearchTermsは、UTF-8でURLエンコードされている必要があります。

*q{field}={searchTerms}は、複数付加することが可能です。ただし、フィールド番号を2つ使った場合、最初のものしか適用されません。AND演算子をご利用ください。

*{startIndex}件目から{count}件を取得します。(デフォルト startIndexは1,countは10)

フィールドパラメータ番号と検索対象フィールドの対応


q0
すべてのフィールドを対象とする検索
q1
研究者名による検索
q2
所属機関による検索
q3
所属部局による検索
q4
職名による検索
q5
科研費研究者番号による検索
q6
研究者リゾルバーIDによる検索
q7
科研費研究課題の研究キーワードによる検索
q8
科研費研究課題の研究分野による検索

それぞれのフィールドパラメータでの検索仕様


共通
【AND】【OR】【NOT】(それぞれ大文字のみ)、カッコ【()】を用いた論理演算が可能です。
同フィールド内に単語や文字を空白で並べた場合、OR検索になります。
【渡辺】【渡邊】【渡邉】等の異体字は、同じ文字として検索されます。
ワイルドカード【*】による前方一致、後方一致検索ができます。
単独ワイルドカードにより、全検索ができます。
ダブルクォート【"】によるフレーズ検索ができます。
複数フィールドを併用した場合は、AND検索になります。
q0
フィールドごとの仕様は単独フィールドと同じです。
q1
デフォルトでの検索は、空白無の姓名、性のみ、名のみの3つを対象とした完全一致検索です。
q5,6
デフォルトでの検索は、3ケタ以上の部分一致検索です。
スラッシュ【/】で囲んだ数字で完全一致検索ができます。
その他
デフォルトでの検索は、英数字は単語単位、日本語は1文字以上での部分一致検索です。
スラッシュ【/】で囲んだ語句で完全一致検索ができます。(スペースは含められません)

ソート順について


パラメータ(sortOrder)
ソート順
0
研究者名カナ昇順
1
研究者名カナ降順
2
研究者名ローマ字昇順
3
研究者名ローマ字降順
4
研究者名漢字コード昇順
5
研究者名漢字コード降順
6
スコア順
指定無し
研究者名カナ昇順

検索質問例


Example 1)

研究者名 "Takeda"で、最初の検索結果のアイテムから20アイテムごとに結果を得たいとき、URLは;
http://rns.nii.ac.jp/opensearch?q1=Takeda&start=1&count=20

Example 2)

研究者名 "武田"で、最初の検索結果のアイテムから20アイテムごとに結果を得たいとき、URLは;
http://rns.nii.ac.jp/opensearch?q0=%E6%AD%A6%E7%94%B0&start=1&count=20

Example 3)

研究者名 "Takeda"で、ソート順をローマ字昇順として、最初の検索結果のアイテムから20アイテムごとに結果を得たいとき、URLは;
http://rns.nii.ac.jp/opensearch?q1=Takeda&start=1&count=20&sort=2

結果集合を得る応答フォーマット

次のような検索質問をOpenSearchフォーマットで送信したとき、

http://rns.nii.ac.jp/opensearch?q0=%E6%AD%A6%E7%94%B0&start=1&count=3

以下に示すようなXMLによる応答をRSS1.0のフォーマットで得ることができます。

XMLの応答フォーマットで利用されるタグは以下のようです。

channel
チャンネル記述(RSS1.0)
rdf:about このチャンネルリソースのURI
title
チャンネルの記述的タイトル。 "Researcher Name Resolver OpenSearch"
link
このサービスのURL
items
アイテムを含んだ検索結果リスト
rdf:seq
シーケンスリスト
rdf:li
リスト中のアイテム
atom:link atom:rel="self"

結果セットの現在ページのURL

atom:link atom:rel="first"
結果セットの最初のページのURL
atom:link atom:rel="next"
結果セットの次ページのURL
atom:link atom:rel="last"
結果セットの最後のページのURL
item
アイテムの記述
rdf:about
このアイテムリソースのURI
title
このアイテムの記述的タイトル "Researcher Name Resolver - $researcherName (Researcher Name Resolver ID)"
link
研究者URIへのリンク。このリソースのURIと同じです。
content:encoded
このアイテムのHTMLによる記述。RSSリーダー上で表示されるようになっています。

研究者のURIにアクセスするには、次のヘルプドキュメント をご覧ください。