研究者IDマッピングテーブル検索
Last update 2012-04-20
概要
研究者リゾルバーは研究者に関連した外部のデータベースへのダイレクトリンクを保持しています。ダイレクトリンクは、そのデータベースにおける研究者のURIを指しています。研究者リゾルバーは、現在、KAKEN、CiNii、Webcat、ResearcherID、ReaD(J-Global)、大学の研究者ディレクトリ、本サービス自身へのダイレクトリンクを保持する仕組みを持っています。このうち、KAKEN、CiNii、ReaD(J-Global)、大学の研究者ディレクトリに対して、自動で研究者同定処理し、ダイレクトリンクを実現しています。また、研究者リゾルバーに機関スタッフが研究者プロファイルをアップロードする仕組みがあり、これによってダイレクトリンクを設定することも可能になっています。これらダイレクトリンクのURIは、通常、データベースごとの識別子(ID)を基礎に構成されています。そして、研究者リゾルバーはこれらのIDとデータベースの種類をデータテーブルとして保持しています。
ここではXML-RPCによって、この研究者ごとにひもづけられたIDのテーブルを検索する機能を提供します。
研究者IDマッピングテーブル検索のためのXML-RPC API
XML-RPCのエントリーポイントに対して、リクエストを記述したXMLをPOSTしてください。POSTするとき、HTTPヘッダに "Content-Type: text/xml"を指定して、XMLテキストを送信します。
API Type
Method Type XML-RPC
methodName in XML-RPC Researcher.resolveID
Entry Point http://rns.nii.ac.jp/services/xmlrpc
XML Schema Definition for Query
| Tag name and layrers | range | |||||||||
| layer 1 | layer 2 | layer 3 | layer 4 | layer 5 | layer 6 | layer 7 | layer 8 | minOccurs | maxOccurs | notes |
| methodCall | 1 | 1 | Root node | |||||||
| methodName | 1 | 1 | Method (You should set "Researcher.resolveID" ) | |||||||
| params | 1 | 1 | ||||||||
| param | 1 | 1 | ||||||||
| value | 1 | 1 | ||||||||
| struct | 1 | 1 | ||||||||
| member | 1 | 3 | ||||||||
| name | 1 | 1 | Name can be set to: source id target |
|||||||
| value | 1 | 1 | ||||||||
| string | 1 | 1 | A value according to the source, id, and target | |||||||
Value of "source" and "target" list
| Value of "source" and "target" | Value of "id" according to the value of "source" |
|---|---|
resolver |
Researcher Name Resolver ID |
kaken |
KAKENHI Researcher Number |
| cinii | CiNii Author ID |
readresearchmap |
ReaD Researcher Code |
| JGlobal | JGLOBAL ID |
researcherid |
ResearcherID |
webcat |
Webcat ID |
rdb:no:XXXXXXX
(Note : XXXXXXX is institution ID) |
employeeID (in researcher profiles uploaded by institution staff) |
| anyURI | URI for the researcher (registered in this system) |
科研費の研究者番号 "80252831" を知っているとして、研究者リゾルバーIDを知りたいとき、 "source=kaken"、 "id=80252831"、"target=resolver" を下記のXMLフォーマットのようにセットします。
Example. XML for query
このAPIを試したいときは、次のようにUNIXコマンド”curl”を使ってみてください。ただし、ここでは、 上述に示した質問のXMLファイル"request.xml"があることが前提です。
$ curl -v --data @request.xml -H "Content-Type: text/xml" http://rns.nii.ac.jp/services/xmlrpc
次のような出力を得られるでしょう。
応答のXMLのフォーマットは次のようです。
XML Schema Definition for Response
| Tag name and layrers | range | ||||||||||||
| layer 1 | layer 2 | layer 3 | layer 4 | layer 5 | layer 6 | layer 7 | layer 8 | layer 9 | layer 10 | layer 11 | minOccurs | maxOccurs | notes |
| methodResponse | 1 | 1 | Root node | ||||||||||
| params | 0 | 1 | Normal Response | ||||||||||
| param | 1 | 1 | |||||||||||
| value | 1 | 1 | |||||||||||
| struct | 1 | 1 | |||||||||||
| member | 1 | 1 | |||||||||||
| name | 1 | 1 | name can be set to: "target" "id" |
||||||||||
| value | 1 | 1 | |||||||||||
| string | 0 | 1 | Value for name "target" | ||||||||||
| array | 0 | 1 | Value for name "id" | ||||||||||
| data | 1 | 1 | |||||||||||
| value | 1 | unbounded | |||||||||||
| string | 1 | 1 | |||||||||||
| fault | 0 | 1 | Fault Response | ||||||||||
| value | |||||||||||||
| struct | 1 | 1 | |||||||||||
| member | 3 | 3 | |||||||||||
| name | 1 | 1 | "faultCode" or "faultString" |
||||||||||
| value | 1 | 1 | |||||||||||
| i4 | 0 | 1 | "faultCode" value | ||||||||||
| string | 0 | 1 | "faultString" message | ||||||||||
"faultCode" value and "faultString" Message
| "faultCode" value | Corresponding "faultString" message |
|---|---|
| 1 | source not found |
| 2 | source id not found |
| 3 | target not found |
| 4 | target id not found |
応答の例は次に示す通りです。
Example. Normal Response