CiNiiのAPI(1)-OpenSearchについて
OpenSearchとは
新しいCiNiiでは、OpenSearch※での検索に対応できます。ここでは、OpenSearchでの検索の基本的な使い方を説明します。
※OpenSearchの詳細については、以下のサイトをご参考にしてください。
http://okilab.jp/project/document/japanate/opensearch/OpenSearch_1.1_Draft3.htm
A ブラウザの検索バーでCiNiiを検索する
A-1. Firefoxの検索バーでCiNiiを検索する
- Firefoxの検索バーをクリックし、"CiNii OpenSearch"を選択します。

- 検索バーにキーワードを入力すると、ブラウザに論文検索結果画面が表示されます。

A-2. Safari(macintosh)の検索バーでCiNiiを検索する
- 検索バーをカスタマイズするプラグインをインストールします。ここでは、AcidSearchというプラグインを使用します。
- AcidSearchをインストールし、設定画面を開き、「New Channel」を選択します。

CiNiiを追加します。

- Safariの検索バーをクリックし、
CiNiiを選択します。

- 検索バーにキーワードを入力すると、ブラウザに論文検索結果画面が表示されます。

A-3. Internet Explorerの検索バーでCiNiiを検索する
- Internet Explorer(7以上)の検索バーをクリックし、「CiNii OpenSearch」を選択します。

- 検索バーにキーワードを入力すると、ブラウザに論文検索結果画面が表示されます。

B OpenSearchのクエリをCiNiiにリクエストする
OpenSearchのクエリを作成し、CiNiiにリクエストすることで、CiNiiの画面での検索と同等な検索を行うことができます。
- クエリ例:
http://ci.nii.ac.jp/opensearch/search?q=%E5%AE%89%E9%81%94&count=20&start=1&lang=ja&title=library&author=&affiliation=&journal=&issn=&volume=&issue=&
page=&publisher=&references=&year_from=&year_to=&range=&sortorder=&format=rss - レスポンス例(RSSフィード):

- クエリ仕様
http://ci.nii.ac.jp/opensearch/search?(パラメータ=値)& (パラメータ=値)&…&(パラメータ=値)です。
クエリを構成する各パラメータは以下のとおりです。No. パラメータ 内容 1 q フリーワードを指定するパラメータ(項6~17が指定されない場合は必須) このパラメータはURLエンコードされている必要がある。 2 count ページあたりの検索結果件数を指定するパラメータ(任意) デフォルトは20。0以下もしくは200を越える値が指定された場合、もしくは指定されない場合はデフォルト設定とみなす。(200:論文検索結果画面の最大表示件数) 3 lang 検索結果の言語を指定するパラメータ(任意) デフォルトはja。日本語(ja)もしくは英語(en)を指定。ja、en以外の文字列、または指定がない場合はデフォルト設定とみなす。 4 start 取得する検索結果一覧の開始番号(任意) デフォルトは0。0以下もしくは検索件数を越える値が指定された場合はデフォルト設定とみなす。 5 format レスポンスの形式を指定するパラメータ(任意) デフォルトはxhtml(通常の検索一覧画面)。rss・atomを指定できる。rss・atomのフォーマットは後述。 6 title 論文名で検索する。URLエンコードされている必要がある。 7 author 著者名で検索する。URLエンコードされている必要がある。 8 issn ISSNで検索する。 9 publisher 出版者で検索する。URLエンコードされている必要がある。 10 affiliation 著者所属で検索する。URLエンコードされている必要がある。 11 journal 刊行物名で検索する。URLエンコードされている必要がある。 12 volume 巻で検索する 13 issue 号で検索する。 14 page ページで検索する。 15 references 刊行物名で検索する。URLエンコードされている必要がある。 16 year_from 出版年(From)で検索する。 17 year_to 出版年(To)で検索する。 18 range 検索対象オプションを指定する デフォルトは0。0:すべて/1:CiNiiに本文あり/2:CiNiiに本文あり、または連携サービスにリンクあり 19 sortorder ソート条件を指定する。デフォルトは1。 出版年降順→「1」/昇順→「2」 論文名降順→「3」/昇順→「4」 刊行物降順→「5」/昇順→「6」 被引用文献数降順→「7」
- RSS1.0 レスポンスフォーマット仕様
No. タグ名 必須 内容 備考 第1階層 第2階層 第3階層 第4階層 第5階層 属性 1 xml 必須 XML文書であることを宣言 <?xml version="1.0" encoding="utf-8" ?> 2 rdf:RDF 必須 文書のルート要素 xml:lang属性には返却する言語を記述する。xml:lang以外の属性は以下の文字列を記述する。 <rdf:RDF xmlns xmlns="http://purl.org/rss/1.0/" xmlns:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xxmlns:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:prism xmlns:prism="http://prismstandard.org/namespaces/basic/2.0/" xmlns:opensearch xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xml:lang xml:lang=”ja”> 3 channel rdf:about リクエストされたURI クエリをURLエンコードし、「変数名=値」形式で出力。「&」で連結する。 4 title タイトル 「CiNii OpenSearch -」にクエリを連結したもの。 <title>CiNii OpenSearch - インタラクション+大向</title> 5 link リクエストされたURI 6 dc:date 検索が行われた日時 W3CDTF表記 7 opensearch:totalResults 検索結果総数 8 opensearch:startIndex 開始番号 検索結果のうち、何件目のデータから記述しているかを表示する 9 opensearch:itemsPerPage 件数 レスポンスに何件の検索結果が含まれているかを表示する 10 items 11 rdf:Seq 12 rdf:li rdf:resource パーマリンク レスポンスに含まれる論文へのパーマリンクを列挙 13 item rdf:about 論文情報 rdf:aboutにはパーマリンクを記述。 <item rdf:about="http://ci.nii.ac.jp/naid/1234567890"> 14 title 論文名 15 link パーマリンク 16 rdfs:seeAlso rdf:resource rdfへのurl <rdfs:seeAlso rdf:resource="http://ci.nii.ac.jp/naid/1234567890/rdf" /> 17 dc:creator 著者名 複数ある場合は列挙する 18 dc:publisher 出版者 19 prism:publicationName 刊行物名 20 prism:issn ISSN 21 prism:volume 巻 22 prism:number 号 23 prism:startingPage 開始ページ 24 prism:endingPage 終了ページ 25 prism:pageRange ページ 26 prism:publicationDate 出版年月日 W3CDTF表記 27 description 抄録 表示する内容は未ログイン状態のものとする 28 dc:date 出版年月日 prism:publicationDateと同じ内容
- Atom1.0 レスポンスフォーマット仕様
No. タグ名 必須 内容 備考 第1階層 第2階層 第3階層 第4階層 属性 1 xml 必須 文書がXMLであることを宣言 <?xml version="1.0"encoding="UTF-8" ?> 2 feed 必須 文書のルート要素 xml:lang属性には返却する言語を記述する。xml:lang以外の属性は以下の文字列を記述する。 <feed xmlns xmlns="http://www.w3.org/2005/Atom" xmlns:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:prism xmlns:prism="http://prismstandard.org/namespaces/basic/2.0/" xmlns:opensearch xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xml:lang xml:lang=”ja”> 3 title フィードのタイトル 「CiNii OpenSearch - 」 に検索語を連結したもの。 <title>CiNii OpenSearch - インタラクション+大向</title> 4 link href= クエリのURI クエリをURLエンコードし、「変数名=値」形式で出力。「&」で連結する。 5 id クエリのURI link要素と同じ 6 updated 検索が行われた日時 W3CDTF表記 7 opensearch:totalResults 検索結果総数 8 opensearch:startIndex 開始番号 検索結果のうち、何件目のデータから記述しているかを表示する 9 opensearch:itemsPerPage 件数 レスポンスに何件の検索結果が含まれているかを表示する 10 entry 検索結果の論文情報を格納するコンテナ 11 title 論文名 12 link href 書誌URI パーマリンクを表示 13 link href RDFのURI RDFのURIを表示 14 id 書誌URI パーマリンクを表示 15 author 複数ある場合は列挙する 16 name 著者名 17 dc:publisher 出版者 18 prism:publicationName 刊行物名 19 prism:issn ISSN 20 prism:volume 巻 21 prism:number 号 22 prism:startingPage 開始ページ 23 prism:endingPage 終了ページ 24 prism:pagePange ページ 25 prism:publicationDate 出版年月日 W3CDTF表記 26 content 論文の抄録 表示する内容は未ログイン状態のものとする <content type="text"></content> 27 updated 出版年月日 prism:publicationDateと同じ内容
C OpenSearchのRSS、Atomフィードを利用する
キーワードでOpenSearch検索し、その検索結果をRSS、AtomフィードでRSSリーダに登録すれば、データが更新された際、
そのキーワードでの検索結果の更新をチェックできるようになります。
例:FirefoxのRSSリーダに登録する。
- OpenSearchのRSS、Atomフィードでの検索結果画面を表示する。
- 「購読」ボタンを押す。

- 「ライブブックマークの追加」画面で、「追加」ボタンを押す。

- ブックマークツールバーに検索結果のRSSフィードが登録される。
