Help:Use Data From External System/ja
English | 日本語
APIによる外部システムからのデータ利用
API(Application Programming Interface)とはIT用語で、ソフトウェアを開発する際に使用できる命令や関数、プログラム上の手続きのことです。MetabolonoteはいくつかのAPIを提供しており、これを外部プログラム(他のデータベースやアプリ)から利用することで、外部プログラムはMetabolonoteが管理しているメタデータをブラウザを介さずに直接利用できるようになります。
例えば、自分が開発しているデータベースから、メタデータIDを元に情報を取得し整形すれば、自分のデータベース上でMetabolonoteのメタデータの情報を表示することなども可能です。
APIは、Metabolonoteで最も重要な機能の一つです。様々な検索系も含め精力的に開発を進めてゆく予定です。
使い方
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=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 |
各階層のIDがアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
id: SE1_S01_M01_D01 <- こちらを用いる ページ名: SE1:/S01/M01/D01
MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。
タブ区切りテキスト形式(txt)とXML形式(xml)を選択できます。
一行目
# 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として出力されます。
下記を選択できます。
- 関連するすべてのデータを出力(all)
- 指定したデータのみ出力(single)
- 指定したデータと関連するデータのみ出力(related)
idで指定したデータより上層のデータと参照されるデータを出力されます。
idで指定したデータのみを出力されます。指定したデータより参照されるデータは出力されません。
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 |
getDataByMetadataIdと同一です。
getDataByMetadataIdと同一です。
このパラメーターはidパラメータでデータ解析ID(D)が指定された場合にのみ有効です。それ以外のIDを指定した場合は、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がアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
id: SE1_S01_M01 <- こちらを用いる ページ名: SE1:/S01/M01
MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。
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がアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
id: SE1_S01_M01_D01 <- こちらを用いる ページ名: SE1:/S01/M01/D01
MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。
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: SE1
JSON形式(json)のみ選択できます。
下記を選択できます。
- 指定したメタデータIDの最終更新日のみ取得する(single)
- メタデータセット内で最新の最終更新日時を取得する(all)
idで指定したデータの最終更新日を出力します。
idで指定した同一メタデータセットのすべてのデータから、最新の最終更新日を出力します。
getFixedDataByPropertyName
アクション名 | getFixedDataByPropertyName | |||
---|---|---|---|---|
説明 | プロパティ名を元に、プロパティに設定されている固定値の一覧を取得します。 | |||
パラメーター | ||||
キー | 説明 | 値 | 必須/任意 | デフォルト値 |
pname | 取得したいプロパティ名 | プロパティ名 | 必須 | |
output | 出力する形式を指定 現在、json形式のみ対応しています。 |
json | 任意 | json |
サンプル | ||||
https://metabolonote.jp/mnapi.php?action=getFixedDataByPropertyName&pname=MS_Instrument_Type |
固定値を取得するプロパティを指定します。
プロパティ名は、こちらのMetabolonoteのプロパティ名に記載されています。
JSON形式(json)のみ選択できます。
getAllPageIds
アクション名 | getAllPageIds | |||
---|---|---|---|---|
説明 | Metabolonoteに登録されているすべてのメタデータIDの一覧を取得します。 | |||
パラメーター | ||||
キー | 説明 | 値 | 必須/任意 | デフォルト値 |
output | 出力する形式を指定 現在、json形式のみ対応しています。 |
json | 任意 | json |
サンプル | ||||
JSON形式(json)のみ選択できます。
getTopPageIds
アクション名 | getTopPageIds | |||
---|---|---|---|---|
説明 | Metabolonoteに登録されている最上位階層のメタデータIDの一覧を取得します。 | |||
パラメーター | ||||
キー | 説明 | 値 | 必須/任意 | デフォルト値 |
output | 出力する形式を指定 現在、json形式のみ対応しています。 |
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がアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
id: SE1_S01 <- こちらを用いる ページ名: SE1:/S01
MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。
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がアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
id: SE1_S01 <- こちらを用いる ページ名: SE1:/S01
MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。
JSON形式(json)のみ選択できます。
getSourcePageIdsByReferentPageId
アクション名 | getSourcePageIdsByReferentPageId | |||
---|---|---|---|---|
説明 | メタデータIDを元に、参照元となるメタデータIDを取得します。 | |||
パラメーター | ||||
キー | 説明 | 値 | 必須/任意 | デフォルト値 |
id | 参照元を取得したいメタデータのID | メタデータID | 必須 | |
output | 出力する形式を指定 現在、json形式のみ対応しています。 |
json | 任意 | json |
サンプル | ||||
https://metabolonote.jp/mnapi.php?action=getSourcePageIdsByReferentPageId&id=SE1_MS1 |
各階層のIDがアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
id: SE1_MS1 <- こちらを用いる ページ名: SE1:/MS1
MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。
JSON形式(json)のみ選択できます。
getOfficialNames
アクション名 | getOfficialNames | |||
---|---|---|---|---|
説明 | Metabolonote内で設定されている項目名の一覧を取得します。 | |||
パラメーター | ||||
キー | 説明 | 値 | 必須/任意 | デフォルト値 |
output | 出力する形式を指定 現在、json形式のみ対応しています。 |
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 |
検索を行うプロパティを指定します。
プロパティ名は、こちらのMetabolonoteのプロパティ名に記載されています。
検索文字列となるキーワードを指定します。
JSON形式(json)のみ選択できます。
下記を選択できます。
- 大文字と小文字の区別を行う(yes)
- 大文字と小文字の区別を行わない(no)
keywordパラメータで指定した文字列の大文字と小文字の区別を行い検索した検索結果を出力します。
keywordパラメータで指定した文字列の大文字と小文字の区別を行わずに検索した検索結果を出力します。
下記を選択できます。
- 完全一致検索(yes)
- 部分一致検索(no)
keywordパラメータで指定した文字列と完全一致する検索結果を出力します。
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 |
検索を行うプロパティとキーワードを指定します。
複数のプロパティに対して検索を実行することができます。
プロパティ名は、こちらのMetabolonoteのプロパティ名に記載されています。
(例) &SE_Title=Arabidopsis&MS_Ion_Mode=Positive &[プロパティ名]=[キーワード]&[プロパティ名]=[キーワード]
JSON形式(json)のみ選択できます。
searchPageIdsByPropertyと同一です。
searchPageIdsByPropertyと同一です。
下記を選択できます。
- AND検索(and)
- OR検索(or)
プロパティ名パラメータで指定した複数の検索条件すべてに該当する検索結果を出力します。
プロパティ名パラメータで指定した複数の検索条件それぞれに該当する検索結果を出力します。
未使用(非推奨)
getMsInstrumentTypes
アクション名 | getMsInstrumentTypes | |||
---|---|---|---|---|
説明 | Metabolonoteに登録されているプロパティ「MS_Instrument_Type」に設定されている値を取得します。 | |||
パラメーター | ||||
キー | 説明 | 値 | 必須/任意 | デフォルト値 |
output | 出力する形式を指定 現在、json形式のみ対応しています。 |
json | 任意 | json |
サンプル | ||||
http://metabolonote.kazusa.or.jp/mnapi.php?action=getMsInstrumentTypes |
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 |
サンプルの詳細情報ID(SS)がアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
また、サンプルの詳細情報ID(SS)以外のIDを指定した場合はエラーとなりますのでご注意ください。
id: SE1_SS1 <- こちらを用いる ページ名: SE1:/SS1
MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。
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 |
分析手法の詳細情報ID(MS)がアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
また、分析手法の詳細情報ID(MS)以外のIDを指定した場合はエラーとなりますのでご注意ください。
id: SE1_MS1 <- こちらを用いる ページ名: SE1:/MS1
MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。
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 |
データ解析手法の詳細情報ID(DS)がアンダーバーで接続されたものを指定します。Metabolonoteのページ名とは書式が異なりますのでご注意ください。
また、データ解析手法の詳細情報ID(DS)以外のIDを指定した場合はエラーとなりますのでご注意ください。
id: SE1_DS1 <- こちらを用いる ページ名: SE1:/DS1
MetabolonoteにおけるIDの扱われ方の詳細は、こちらをご覧ください。
JSON形式(json)のみ選択できます。
</div>