Help:Use Data From External System/ja

From Metabolonote
jump-to-nav Jump to: navigation, search
< ヘルプトップ


 En.gif English | Ja.gif 日本語  


APIによる外部システムからのデータ利用

API(Application Programming Interface)とはIT用語で、ソフトウェアを開発する際に使用できる命令や関数、プログラム上の手続きのことです。MetabolonoteはいくつかのAPIを提供しており、これを外部プログラム(他のデータベースやアプリ)から利用することで、外部プログラムはMetabolonoteが管理しているメタデータをブラウザを介さずに直接利用できるようになります。

例えば、自分が開発しているデータベースから、メタデータIDを元に情報を取得し整形すれば、自分のデータベース上でMetabolonoteのメタデータの情報を表示することなども可能です。

APIは、Metabolonoteで最も重要な機能の一つです。様々な検索系も含め精力的に開発を進めてゆく予定です。

Contents

使い方

MetabolonoteのAPIは、URL式にパラメーターを記載するRESTfulな形式を採用しています。パラメーターに応じたURL式を作り、そこにHTTPアクセスすることで、結果がテキストとしてクライアントに返信されます。

書式

APIを提供するベースURLは以下です。

http://metabolonote.kazusa.or.jp/mnapi.php

mnapi.phpに渡すパラメーターとして、アクション名、アクションに応じたパラメーターのキーを以下のように記載してください。

http://metabolonote.kazusa.or.jp/mnapi.php?action=アクション名&キー1=値1&キー2=値2

例) http://metabolonote.kazusa.or.jp/mnapi.php?action=getDataByMetadataId&id=SE1_S01_M01_D01&output=txt

戻り値

データはテキストで返されます。

メタデータの項目名の表記

返信されるテキストデータの中で、Metabolonoteのメタデータの階層(SE, S, M D等)や、記述内容の項目名(Title, Description等)は、以下のように小文字とアンダーバーで表記されます。

例)
SE -> sample_set
Instrument Type -> instrument_type

これは、私たちが定めた「統合メタボロームデータフォーマット」のXMLスキーマ定義の要素名や属性名に従った表記です。すべての対応関係については、こちらをご覧ください。

エラー

APIでエラーが発生した場合は、以下のように、返信されるテキストの一行目に「MN_ERROR」の文字列が出力されます。

例)以下はエラーが発生するURLです。
http://metabolonote.kazusa.or.jp/mnapi.php?action=getDataByMetadataId&id=SA1

MN_ERROR
The specified page does not exist

データ取得系

getDataByMetadataId

アクション名 getDataByMetadataId
説明 メタデータIDを元に、メタデータを取得します。
データの出力フォーマットを、タブ区切りのテキスト形式(txt)とXML形式(xml)から選択できます。
データ出力範囲を、関連するすべてのデータ(all)と指定したデータのみ(single)と指定したデータに関連するデータのみ(related)から選択できます。
パラメーター
キー 説明 必須/任意 デフォルト値
id 取得したいメタデータのID メタデータID 必須
output 出力する形式を指定 txtまたはxml 任意 txt
mode 出力する範囲を指定 allまたはsingleまたはrelated 任意 all
サンプル

https://metabolonote.jp/mnapi.php?action=getDataByMetadataId&id=SE1_S01
https://metabolonote.jp/mnapi.php?action=getDataByMetadataId&id=SE1_S01_M01_D01&output=txt
https://metabolonote.jp/mnapi.php?action=getDataByMetadataId&id=SE1_MS1&output=xml
https://metabolonote.jp/mnapi.php?action=getDataByMetadataId&id=SE1_S01_M01_D01&output=txt&mode=single
https://metabolonote.jp/mnapi.php?action=getDataByMetadataId&id=SE1_S01_M01&output=xml&mode=related

パラメーターについて
id

各階層のIDがアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。

id:       SE1_S01_M01_D01   <- こちらを用いる
ページ名: SE1:/S01/M01/D01

MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。

output

タブ区切りテキスト形式(txt)とXML形式(xml)を選択できます。

txt: タブ区切りテキスト形式

一行目

 # id kazusa:SE1_S01.info.txt

#[タブ]id[タブ][システム識別子]:[メタデータID].info.txt

[タブ]タブ制御文字 [システム識別子]複数のMetabolonoteが運用されるようになった場合、どのMetabolonote由来のデータかを判別するために、個々のMetabolonoteに付けられた文字列。

二行目以降、一列目にデータがある行

sample_set	id	SE1

[階層名][タブ]id[タブ][メタデータID]

二行目以降、一列目にデータがない行

	title	Arabidopsis thaliana metabolite analysis

[タブ][項目名][タブ][値]

[階層名]と[項目名]は、こちらの定義に基づきます。 一列目にデータがない行の項目が属する階層名は、その行よりも上の行の階層名と同一になります。


xml形式

こちらのXMLスキーマに基づいたXMLとして出力されます。

mode

下記を選択できます。

  • 関連するすべてのデータを出力(all)
  • 指定したデータのみ出力(single)
  • 指定したデータと関連するデータのみ出力(related)
all: 関連するすべてのデータを出力

idで指定したデータより上層のデータと参照されるデータを出力されます。

single: 指定したデータのみ出力

idで指定したデータのみを出力されます。指定したデータより参照されるデータは出力されません。

related: 指定したデータと関連するデータのみ出力

idで指定したデータと指定したデータより参照されるデータのみ出力されます。

getDataByMetadataIdWithAM

アクション名 getDataByMetadataIdWithAM
説明 メタデータIDを元に、メタデータを取得します。
データの出力フォーマットを、タブ区切りのテキスト形式(txt)とXML形式(xml)から選択できます。
メタデータのDに対しAMデータを付属し取得します。同一サンプルセットのすべてのAMデータ(all)と取得するAMデータ(AM*)から選択できます。
パラメーター
キー 説明 必須/任意 デフォルト値
id 取得したいメタデータのID メタデータID 必須
output 出力する形式を指定 txtまたはxml 任意 txt
amid 取得するAMデータを指定 allまたは取得したいAMデータ名 任意
サンプル

https://metabolonote.jp/mnapi.php?action=getDataByMetadataIdWithAM&id=SE1_S01_M01_D01&output=txt&amid=all
https://metabolonote.jp/mnapi.php?action=getDataByMetadataIdWithAM&id=SE1_S01_M01_D01&output=xml&amid=AM1
https://metabolonote.jp/mnapi.php?action=getDataByMetadataIdWithAM&id=SE1_S01_M01_D01&output=txt

パラメーターについて
id

getDataByMetadataIdと同一です。


output

getDataByMetadataIdと同一です。

amid

このパラメーターはidパラメータでデータ解析ID(D)が指定された場合にのみ有効です。それ以外のIDを指定した場合は、AMデータも出力されませんのでご注意ください。

all(デフォルト)

サンプルセットに登録した全てのAMデータを出力します。

AM*

出力するAMデータをIDで指定します。IDをカンマ区切りで複数指定すれば、サンプルセットに登録した複数のAMを同時に出力することができます。

(例)
&amid=AM1
&amid=AM1,AM2

getPropertiesByMetadataId

アクション名 getPropertiesByMetadataId
説明 メタデータIDを元に、メタデータを取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
id 取得したいメタデータのID メタデータID 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

https://metabolonote.jp/mnapi.php?action=getPropertiesByMetadataId&id=SE1_S01_M01

パラメーターについて
id

各階層のIDがアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。

id:       SE1_S01_M01   <- こちらを用いる
ページ名: SE1:/S01/M01

MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。

output

JSON形式(json)のみ選択できます。

json: JSON形式

getLastUpdateOfMetadata

アクション名 getLastUpdateOfMetadata
説明 メタデータIDを元に、メタデータの最終更新日を取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
id 取得したいメタデータのID メタデータID 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

https://metabolonote.jp/mnapi.php?action=getLastUpdateOfMetadata&id=SE1_S01_M01_D01

パラメーターについて
id

各階層のIDがアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。

id:       SE1_S01_M01_D01   <- こちらを用いる
ページ名: SE1:/S01/M01/D01

MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。

output

JSON形式(json)のみ選択できます。

json: JSON形式

getLastUpdateInMetadataSet

アクション名 getLastUpdateInMetadataSet
説明 メタデータセットIDを元に、メタデータセットの最終更新日を取得します。
データの比較範囲を、指定したデータのみ(single)とメタデータセットのすべてのデータ(all)から選択できます。
パラメーター
キー 説明 必須/任意 デフォルト値
id 取得したいメタデータセットのID メタデータセットID 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
mode 比較する範囲を指定 singleまたはall 任意 single
サンプル

https://metabolonote.jp/mnapi.php?action=getLastUpdateInMetadataSet&id=SE1&mode=single https://metabolonote.jp/mnapi.php?action=getLastUpdateInMetadataSet&id=SE1&mode=all

パラメーターについて
id

メタデータセットIDを指定します。
メタデータセットIDは、メタデータの最上位階層を指します。
最上位階層以外のメタデータIDを指定した場合はエラーとなりますのでご注意ください。

id:       SE1
output

JSON形式(json)のみ選択できます。

json: JSON形式
mode

下記を選択できます。

  • 指定したメタデータIDの最終更新日のみ取得する(single)
  • メタデータセット内で最新の最終更新日時を取得する(all)
single: 指定したメタデータIDの最終更新日を出力

idで指定したデータの最終更新日を出力します。

all: メタデータセット内で最新の最終更新日時を出力

idで指定した同一メタデータセットのすべてのデータから、最新の最終更新日を出力します。

getFixedDataByPropertyName

アクション名 getFixedDataByPropertyName
説明 プロパティ名を元に、プロパティに設定されている固定値の一覧を取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
pname 取得したいプロパティ名 プロパティ名 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

https://metabolonote.jp/mnapi.php?action=getFixedDataByPropertyName&pname=MS_Instrument_Type

パラメーターについて
pname

固定値を取得するプロパティを指定します。

プロパティ名は、こちらのMetabolonoteのプロパティ名に記載されています。

output

JSON形式(json)のみ選択できます。

json: JSON形式


getAllPageIds

アクション名 getAllPageIds
説明 Metabolonoteに登録されているすべてのメタデータIDの一覧を取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

https://metabolonote.jp/mnapi.php?action=getAllPageIds

パラメーターについて
output

JSON形式(json)のみ選択できます。

json: JSON形式

getTopPageIds

アクション名 getTopPageIds
説明 Metabolonoteに登録されている最上位階層のメタデータIDの一覧を取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

https://metabolonote.jp/mnapi.php?action=getTopPageIds

パラメーターについて
output

JSON形式(json)のみ選択できます。

json: JSON形式

getSubPageIdsByMetadataId

アクション名 getSubPageIdsByMetadataId
説明 メタデータIDを元に、1階層下のメタデータIDの一覧を取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
id 1階層下のメタデータIDを取得したいメタデータのID メタデータID 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

https://metabolonote.jp/mnapi.php?action=getSubPageIdsByMetadataId&id=SE1_S01

パラメーターについて
id

各階層のIDがアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。

id:       SE1_S01   <- こちらを用いる
ページ名: SE1:/S01

MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。

output

JSON形式(json)のみ選択できます。

json: JSON形式

getLowerPageIdsByMetadataId

アクション名 getLowerPageIdsByMetadataId
説明 メタデータIDを元に、すべての下位階層のメタデータIDの一覧を取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
id 下位階層のメタデータIDを取得したいメタデータのID メタデータID 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

https://metabolonote.jp/mnapi.php?action=getLowerPageIdsByMetadataId&id=SE1_S01

パラメーターについて
id

各階層のIDがアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。

id:       SE1_S01   <- こちらを用いる
ページ名: SE1:/S01

MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。

output

JSON形式(json)のみ選択できます。

json: JSON形式

getSourcePageIdsByReferentPageId

アクション名 getSourcePageIdsByReferentPageId
説明 メタデータIDを元に、参照元となるメタデータIDを取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
id 参照元を取得したいメタデータのID メタデータID 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

https://metabolonote.jp/mnapi.php?action=getSourcePageIdsByReferentPageId&id=SE1_MS1

パラメーターについて
id

各階層のIDがアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。

id:       SE1_MS1   <- こちらを用いる
ページ名: SE1:/MS1

MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。

output

JSON形式(json)のみ選択できます。

json: JSON形式

getOfficialNames

アクション名 getOfficialNames
説明 Metabolonote内で設定されている項目名の一覧を取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

https://metabolonote.jp/mnapi.php?action=getOfficialNames

パラメーターについて
output

JSON形式(json)のみ選択できます。

json: JSON形式


検索系

searchPageIdsByProperty

アクション名 searchPageIdsByProperty
説明 プロパティ名とキーワードを元に、検索を行う。
検索結果としてメタデータIDのリストを出力します。
キーワードの大文字と小文字の区別を、区別する(yes)と区別しない(no)から選択できます。
キーワードの一致条件を、完全一致(yes)と部分一致(no)から選択できます。
パラメーター
キー 説明 必須/任意 デフォルト値
pname 検索対象となるプロパティ プロパティ名 必須
keyword 検索文字列 キーワード 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
case キーワードの大文字小文字の区別 yesまたはno 任意 no
exact キーワードの一致条件 yesまたはno 任意 no
サンプル

http://metabolonote.kazusa.or.jp/mnapi.php?action=searchPageIdsByProperty&pname=SE_Title&keyword=arabidopsis
他のサンプルURLは考え中

パラメーターについて
pname

検索を行うプロパティを指定します。

プロパティ名は、こちらのMetabolonoteのプロパティ名に記載されています。

keyword

検索文字列となるキーワードを指定します。

output

JSON形式(json)のみ選択できます。

json: JSON形式
case

下記を選択できます。

  • 大文字と小文字の区別を行う(yes)
  • 大文字と小文字の区別を行わない(no)
yes: 大文字と小文字の区別を行う

keywordパラメータで指定した文字列の大文字と小文字の区別を行い検索した検索結果を出力します。

no: 大文字と小文字の区別を行わない

keywordパラメータで指定した文字列の大文字と小文字の区別を行わずに検索した検索結果を出力します。

exact

下記を選択できます。

  • 完全一致検索(yes)
  • 部分一致検索(no)
yes: 完全一致検索

keywordパラメータで指定した文字列と完全一致する検索結果を出力します。

no: 部分一致検索

keywordパラメータで指定した文字列が含まれている検索結果を出力します。

searchPageIdsByProperties

アクション名 searchPageIdsByProperties
説明 複数のプロパティ名とキーワードを元に、検索を行う。
検索結果としてメタデータIDのリストを出力します。
キーワードの大文字と小文字の区別を、区別する(yes)と区別しない(no)から選択できます。
キーワードの一致条件を、完全一致(yes)と部分一致(no)から選択できます。
取得するメタデータIDの絞り込みを、AND検索(and)とOR検索(or)から選択できます。
パラメーター
キー 説明 必須/任意 デフォルト値
プロパティ名 検索対象となるプロパティとキーワード キーワード 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
case キーワードの大文字小文字の区別 yesまたはno 任意 no
exact キーワードの一致条件 yesまたはno 任意 no
mode 検索タイプ andまたはor 任意 and
サンプル

http://metabolonote.kazusa.or.jp/mnapi.php?action=searchPageIdsByProperties&SE_Title=arabidopsis&MS_Ion_Mode=positive
http://metabolonote.kazusa.or.jp/mnapi.php?action=searchPageIdsByProperties&SE_Title=arabidopsis&MS_Ion_Mode=positive&mode=or
他のサンプルURLは考え中

パラメーターについて
プロパティ名

検索を行うプロパティとキーワードを指定します。
複数のプロパティに対して検索を実行することができます。

プロパティ名は、こちらのMetabolonoteのプロパティ名に記載されています。

(例)
&SE_Title=Arabidopsis&MS_Ion_Mode=Positive
&[プロパティ名]=[キーワード]&[プロパティ名]=[キーワード]
output

JSON形式(json)のみ選択できます。

json: JSON形式
case

searchPageIdsByPropertyと同一です。

exact

searchPageIdsByPropertyと同一です。

mode

下記を選択できます。

  • AND検索(and)
  • OR検索(or)
and: AND検索

プロパティ名パラメータで指定した複数の検索条件すべてに該当する検索結果を出力します。

or: OR検索

プロパティ名パラメータで指定した複数の検索条件それぞれに該当する検索結果を出力します。


未使用(非推奨)

getMsInstrumentTypes

アクション名 getMsInstrumentTypes
説明 Metabolonoteに登録されているプロパティ「MS_Instrument_Type」に設定されている値を取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

http://metabolonote.kazusa.or.jp/mnapi.php?action=getMsInstrumentTypes

パラメーターについて
output

JSON形式(json)のみ選択できます。

json: JSON形式

getSampleIdsUsingSsId

アクション名 getSampleIdsUsingSsId
説明 メタデータIDを元に、参照元となるメタデータIDを取得します。
分析手法の詳細情報ID(MS)を参照している同一のサンプルセットの分析情報ID(M)を取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
ssid 参照元を取得したいメタデータのID メタデータID 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

http://metabolonote.kazusa.or.jp/mnapi.php?action=getSampleIdsUsingSsId&msid=SE1_SS1
※現在、SSフォームが作成されていないので上記リンクはエラーになります。

パラメーターについて
ssid

サンプルの詳細情報ID(SS)がアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
また、サンプルの詳細情報ID(SS)以外のIDを指定した場合はエラーとなりますのでご注意ください。

id:       SE1_SS1   <- こちらを用いる
ページ名: SE1:/SS1

MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。

output

JSON形式(json)のみ選択できます。

json: JSON形式

getMethodIdsUsingMsId

アクション名 getMethodIdsUsingMsId
説明 メタデータIDを元に、参照元となるメタデータIDを取得します。
分析手法の詳細情報ID(MS)を参照している同一のサンプルセットの分析情報ID(M)を取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
msid 参照元を取得したいメタデータのID メタデータID 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

http://metabolonote.kazusa.or.jp/mnapi.php?action=getMethodIdsUsingMsId&msid=SE1_MS1

パラメーターについて
msid

分析手法の詳細情報ID(MS)がアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
また、分析手法の詳細情報ID(MS)以外のIDを指定した場合はエラーとなりますのでご注意ください。

id:       SE1_MS1   <- こちらを用いる
ページ名: SE1:/MS1

MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。

output

JSON形式(json)のみ選択できます。

json: JSON形式

getDataAnalysisIdsUsingDsId

アクション名 getDataAnalysisIdsUsingDsId
説明 メタデータIDを元に、参照元となるメタデータIDを取得します。
データ解析手法の詳細情報ID(DS)を参照している同一のサンプルセットのデータ解析情報ID(D)を取得します。
パラメーター
キー 説明 必須/任意 デフォルト値
dsid 参照元を取得したいメタデータのID DSメタデータID 必須
output 出力する形式を指定
現在、json形式のみ対応しています。
json 任意 json
サンプル

http://metabolonote.kazusa.or.jp/mnapi.php?action=getDataAnalysisIdsUsingDsId&dsid=SE1_DS1

パラメーターについて
dsid

データ解析手法の詳細情報ID(DS)がアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
また、データ解析手法の詳細情報ID(DS)以外のIDを指定した場合はエラーとなりますのでご注意ください。

id:       SE1_DS1   <- こちらを用いる
ページ名: SE1:/DS1

MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。

output

JSON形式(json)のみ選択できます。

json: JSON形式

</div>

Personal tools
View and Edit Metadata
Variants
Views
Actions