JBIF:地球規模生物多様性 情報機構日本ノード

このAPIは、GBIF登録に関するものであり、登録が行われたデータセット、インストレーション、団体・機関、ノードおよびネットワークの検索が可能です。

プログラム内ではJavaウェブサービスクライエントを用いて、HTTPベースのREST対応ウェブサービスを提供しています。APIのコードを書く人の中には、関心のある方もいると思われます。registry-ws-clientプロジェクトのページに詳細があります。

旧版の登録APIに対するサポートも継続しているものの、現在では奨励していません。新たに使用を開始する方には、新版のAPIを推奨しています。

・各機能メニュー

データセット  データセット検索  データセット・メトリクス(指標)  インストレーション(データセットのインストール場所)  機関  ノード  ネットワーク  クエリ・パラメータの解説  OAI-PMH

データセット

データセットAPIにより、データセットの作成、読み出し、更新および削除(以下、「CRUD」と呼びます。)並びに検索を行うことができます。 GBIFポータルにおいて最も重要な使い方は、データセットの検索およびデータセット・ページの設定を行うことです。

データセットの削除は、論理削除により行います。すなわち、一度登録したエントリーは、そのまま残りますが、 削除タイムスタンプが記録されます。一方、データセットの連絡先、エンドポイント、識別子、タグ、マシンタグ、 コメントおよびメタデータの説明に関しては、物理削除を行います。すなわち、エントリーは完全に削除されます。

リソースURL メソッド レスポンス 説明 認証 ページング パラメータ
/dataset GET Dataset List 全データセットを表示 false true q, country, type,identifier, identifierType
/dataset POST UNID 新規データセットを作成 true false
dataset/{UUID} GET Dataset 一つのデータセットの詳細を取得 false false
dataset/{UUID} PUT データセットを更新 true false
dataset/{UUID} DELETE データセットを削除。データセットのエントリーには削除タイムスタンプが記録されるが、データそのものは残る。 true false
/dataset/{UUID}/contact GET Contact List データセットの全連絡先を表示 false false
/dataset/{UUID}/contact POST ID データセットの連絡先を作成・追加 true false
/dataset/{UUID}/contact/{ID} DELETE データセットの連絡先を連絡先識別子{ID}により削除 true false
/dataset/{UUID}/contact/{ID} PUT データセットの連絡先を連絡先識別子{ID}により更新 true false
/dataset/{UUID}/crawl POST データセットのクロール・スケジュールを新規に設定 true false
/dataset/{UUID}/endpoint GET Endpoint List データセットのエンドポイントを表示 false false
/dataset/{UUID}/endpoint POST ID データセットのエンドポイントを作成 true false
/dataset/{UUID}/endpoint/{ID} DELETE データセットのエンドポイントを連絡先識別子{ID}により削除 true false
/dataset/{UUID}/identifier GET Identifier List データセット識別子を表示 false false
/dataset/{UUID}/identifier POST ID 新規データセット識別子を作成 true false
/dataset/{UUID}/identifier/{ID} DELETE データセットの識別子を識別子{ID}により削除 true false
/dataset/{UUID}/tag GET Tag List データセットの全タグを表示 false false
/dataset/{UUID}/tag POST ID データセット・タグを作成・追加 false false
/dataset/{UUID}/tag/{ID} DELETE データセット・タグをタグ識別子{ID}により削除 true false
/dataset/{UUID}/machineTag GET Machine Tag List データセットの全マシンタグを表示 false false
/dataset/{UUID}/machineTag POST ID データセット・マシンタグを作成・追加 true false
/dataset/{UUID}/machineTag/{ID} DELETE ID データセット・マシンタグをマシンタグ識別子{ID}により削除 false false
/dataset/{UUID}/comment GET Comment List データセットの全コメントを表示 false false
/dataset/{UUID}/comment POST ID データセットのコメントを作成・追加 true false
/dataset/{UUID}/comment DELETE データセットのコメントをコメント識別子{ID}により削除 true false
/dataset/{UUID}/constituents GET データセットのサブセット要素(リクエストと同じparentDataset Keyを有するデータセット)を表示 false true
/dataset/{UUID}/document GET Metadata Document GBIF作成のEML文書を取得。この文書は、既存のメタデータ文書データにGBIF情報を重ねたものである。 false false
/dataset/{UUID}/document POST ID データセットに対して、新しいメタデータ文書を登録し、同じ形式の既存文書と交換する。 true false
/dataset/{UUID}/metadata GET Metadata Description List データセットに関し、該当する全メタデータの説明を表示。文書形式によりフィルタをかけることができる。リストは、優先度の高い順に表示する。優先度が高いとは、データセットの拡大・更新に最も関連することを意味する。EML形式は、最も情報量が多い形式であることから、最も優先度が高い。 false false type
/dataset/metadata/{ID} GET Metadata Description メタデータの説明を識別子{ID}により取得 false false
/dataset/metadata/{ID}/document GET Metadata Document 実際のメタデータの説明を含む文書を識別子{ID}により取得 false false
/dataset/metadata/{ID} DELETE メタデータの説明およびその文書を識別子{ID}により削除 true false
/dataset/deleted GET 「削除済み」のスタンプが付いているデータセットを全て表示 false true
/dataset/duplicate GET 他のデータセットと「重複」とのスタンプが付いているデータセットを全て表示 false true
/dataset/withNoEndpoint GET エンドポイントがないデータセット(サブデータセットを除く。)を全て表示 false true

データセット検索

データセット検索APIにより、データセットの検索ができます。

リソースURL メソッド レスポンス 説明 ページング パラメータ
/dataset/search GET DatasetSearchResult 全データセットに対して、フルテキスト検索を実施。結果は、関連性の高い順に表示される。 true q, country, type, subtype, keyword, publishingOrg, hostingOrg, decade, publishingCountry, continent, hl, facet, facetMincount, facetMultiselect
/dataset/suggest GET DatasetSearchResult 該当するデータセットを最大20組表示する検索。結果は、関連性の高い順に表示される。 false q, country, type, subtype, keyword, publishingOrg, hostingOrg, decade, publishingCountry, continent

データセット・メトリクス(指標)

データセット・メトリクスAPIは、CHECKLIST形式のデータセットに関して、メトリクスを表示します。

リソースURL メソッド レスポンス 説明 ページング パラメータ
/dataset/{UUID}/metrics GET DatasetMetrics チェックリストに関して、さまざまなメトリクスを取得。メトリクスには、種の数、分類階級ごとの数、俗称名に基づく件数などがある。 false

インストレーション(データセットのインストール場所)

インストレーションAPIにより、インストレーションのCRUDおよび検索を行うことができます。

インストレーションの削除は、論理削除により行います。すなわち、一度登録したエントリーは、 そのまま残りますが、削除タイムスタンプが記録されます。一方、インストレーションに係る連絡先、 エンドポイント、識別子、タグ、マシンタグおよびコメントに関しては、物理削除を行います。 すなわち、エントリーは完全に削除されます。

リソースURL メソッド レスポンス 説明 認証 ページング パラメータ
/installation GET Installation List 全インストレーションを表示 false true q, identifier, identifierType
/installation POST UUID 新規インストレーションの作成 true false
/installation/{UUID} GET Installation 一つのインストレーションの詳細を取得 false false
/installation/{UUID} PUT インストレーションを更新 true false
/installation/{UUID} DELETE インストレーションを削除。インストレーションのエントリーには削除タイムスタンプが記録されるが、データそのものは残る。 true false
/installation/{UUID}/contact GET Contact List インストレーションの全連絡先を表示 false false
/installation/{UUID}/contact POST ID インストレーションの連絡先を作成・追加 true false
/installation/{UUID}/contact/{ID} DELETE インストレーションの連絡先を連絡先識別子{ID}により削除 true false
/installation/{UUID}/contact/{ID} PUT インストレーションの連絡先を連絡先識別子{ID}により更新 true false
/installation/{UUID}/endpoint GET Endpoint List インストレーションのエンドポイントを表示 false false
/installation/{UUID}/endpoint POST ID インストレーションのエンドポイントを作成 true false
/installation/{UUID}/endpoint/{ID} DELETE インストレーションのエンドポイントを識別子{ID}により削除 true false
/installation/{UUID}/identifier GET Identifier List インストレーションの識別子を表示 false false
/installation/{UUID}/identifier POST ID 新規のインストレーション識別子を作成 true false
/installation/{UUID}/identifier/{ID} DELETE インストレーションの識別子を識別子{ID}により削除 true false
/installation/{UUID}/tag GET Tag List インストレーションに関する全タグを表示 false false
/installation/{UUID}/tag POST ID インストレーション・タグを作成・追加 true false
/installation/{UUID}/tag/{ID} DELETE インストレーション・タグをタグ識別子{ID}により削除 true false
/installation/{UUID}/machineTag GET Machine Tag List インストレーションに関する全マシンタグを表示 false false
/installation/{UUID}/machineTag POST ID インストレーションのマシンタグを作成・追加 true false
/installation/{UUID}/machineTag/{ID} DELETE インストレーションのマシンタグをマシンタグ識別子{ID}により削除 false false
/installation/{UUID}/comment GET Comment List インストレーションに関する全コメントを表示 false false
/installation/{UUID}/comment POST ID インストレーションに関するコメントを作成・追加 true false
/installation/{UUID}/comment DELETE インストレーションに関するコメントをコメント識別子{ID}により削除 true false
/installation/{UUID}/dataset GET Dataset List インストレーションにより提供されるデータセットの表示 false true
/installation/deleted GET 削除したインストレーションを表示 false true
/installation/nonPublishing GET データセットを提供していないインストレーションを表示 false true

機関

機関APIにより、機関のCRUDおよび検索を行うことができます。 GBIFポータルにおいて最も重要な使い方は、データ公開機関の検索を行うことです。

機関の削除は、論理削除により行います。 すなわち、一度登録したエントリーは、そのまま残りますが、削除タイムスタンプが記録されます。 一方、機関に係る連絡先、エンドポイント、識別子、タグ、マシンタグおよびコメントに関しては、物理削除を行います。 すなわち、エントリーは完全に削除されます。

リソースURL メソッド レスポンス 説明 認証 ページング パラメータ
/organization GET Organization List 全機関名を表示 false true q, country, identifier, identifierType
/organization POST UUID 新規機関エントリーの作成 true false
/organization/{UUID} GET Organization 一機関の詳細を取得 false false
/organization/{UUID} PUT 機関情報を更新 true false
/organization/{UUID} DELETE 機関を削除。機関のエントリーには削除タイムスタンプが記録されるが、データそのものは残る。 true false
/organization/{UUID}/contact GET Contact List 機関の全連絡先を表示 false false
/organization/{UUID}/contact POST ID 機関の連絡先を作成・追加 true false
/organization/{UUID}/contact/{ID} DELETE 機関の連絡先を連絡先識別子{ID}により削除 true false
/organization/{UUID}/contact/{ID} PUT 機関の連絡先を連絡先識別子{ID}により更新 true false
/organization/{UUID}/endpoint GET Endpoint List 機関のエンドポイントを表示 false false
/organization/{UUID}/endpoint POST ID 機関のエンドポイントを作成 true false
/organization/{UUID}/endpoint/{ID} DELETE 機関のエンドポイントを識別子{ID}により削除 true false
/organization/{UUID}/identifier GET Identifier List 機関の識別子を表示 false false
/organization/{UUID}/identifier POST ID 新規の機関識別子を作成 true false
/organization/{UUID}/identifier/{ID} DELETE 機関の識別子を識別子{ID}により削除 true false
/organization/{UUID}/tag GET Tag List 機関のタグを全て表示 false false
/organization/{UUID}/tag POST ID 機関のタグを作成・追加 true false
/organization/{UUID}/tag/{ID} DELETE 機関のタグをタグ識別子{ID}により削除 true false
/organization/{UUID}/machineTag GET Machine Tag List 機関に関する全マシンタグを表示 false false
/organization/{UUID}/machineTag POST ID 機関のマシンタグを作成・追加 true false
/organization/{UUID}/machineTag/{ID} DELETE 機関のマシンタグをマシンタグ識別子{ID}により削除 false false
/organization/{UUID}/comment GET Comment List 機関に関する全コメントを表示 false false
/organization/{UUID}/comment POST ID 機関に関するコメントを作成・追加 true false
/organization/{UUID}/comment DELETE 機関に関するコメントをコメント識別子{ID}により削除 true false
/organization/{UUID}/hostedDataset GET Dataset ホストするデータセット(機関が管理するインストレーションに掲載したデータセット)を表示 false true
/organization/{UUID}/publishedDataset GET Dataset 公開データセット(機関が公開したデータセット)を表示 false true
/organization/{UUID}/installation GET Installation 当機関が管理するインストレーションを表示 false true
/organization/deleted GET Organization List 削除した機関を表示 false true
/organization/pending GET Organization List 承認保留中の機関を表示 false true
/organization/nonPublishing GET Organization List データセットを公開していない機関を表示 false true

ノード

ノードAPIにより、ノードのCRUDおよび検索を行うことができます。GBIFポータルにおいて最も重要な使い方は、国別ページを充実することです。

ノードの削除は、論理削除により行います。すなわち、一度登録したエントリーは、そのまま残りますが、削除タイムスタンプが記録されます。一方、ノードに係る連絡先、エンドポイント、識別子、タグ、マシンタグおよびコメントに関しては、物理削除を行います。すなわち、エントリーは完全に削除されます。

リソースURL メソッド レスポンス 説明 認証 ページング パラメータ
/node GET Node List 全ノードを表示 false true q, identifier, identifierType
/node POST UUID 新規ノードを作成 true false
/node/{UUID} GET Node 一ノードの詳細を取得 false false
/node/{UUID} PUT ノードを更新 true false
/node/{UUID} DELETE ノードを削除。ノードのエントリーには削除タイムスタンプが記録されるが、データそのものは残る。 true false
/node/{UUID}/organization GET GET Organization ノードが承認した機関を表示 false true
/node/{UUID}/endpoint GET Endpoint List ノードのエンドポイントを表示 false false
/node/{UUID}/endpoint POST ID ノードのエンドポイントを作成 true false
/node/{UUID}/endpoint/{ID} DELETE ノードのエンドポイントを識別子{ID}により削除 true false
/node/{UUID}/identifier GET Identifier List ノード識別子を表示 false false
/node/{UUID}/identifier POST ID 新規のノード識別子を作成 true false
/node/{UUID}/identifier/{ID} DELETE ノードの識別子を識別子{ID}により削除 true false
/node/{UUID}/tag POST ID ノードのタグを作成・追加 true false
/node/{UUID}/tag/{ID} DELETE ノード・タグをタグ識別子{ID}により削除 true false
/node/{UUID}/machineTag GET Machine Tag List ノードの全マシンタグを表示 false false
/node/{UUID}/machineTag POST ID ノードのマシンタグを作成・追加 true false
/node/{UUID}/machineTag/{ID} DELETE ノードのマシンタグをマシンタグ識別子{ID}により削除 false false
/node/{UUID}/comment GET Comment List ノードの全コメントを表示 false false
/node/{UUID}/comment POST ID ノードのコメントを作成・追加 true false
/node/{UUID}/comment DELETE ノードのコメントをコメント識別子{ID}により削除 true false
/node/pendingEndorsement GET Organization List 承認保留中の全機関を表示 false true
/node/{UUID}/pendingEndorsement GET Organization List ノードによる承認が保留中の全機関を表示 false true
/node/country GET ISO-CODE List 全GBIF加盟国名を表示 false false
/node/activeCountries GET ISO-CODE List GBIFの正式加盟国および準加盟国を全て表示 false false
/node/country/{ISO-CODE} GET Node ISO639-1(2文字)又はISO639-2(3文字)の言語名コードに基づく国ノードを取得 false false
/node/{UUID}/dataset GET Dataset List ノードが承認した機関が公開したデータセットを表示 false true
/node/{UUID}/installation GET Installation List ノードが承認した機関が管理するインストレーションを表示 false true

ネットワーク

ネットワークAPIにより、ネットワークのCRUDおよび検索を行うことができます。 ネットワークの削除は、論理削除により行います。すなわち、一度登録したエントリーは、 そのまま残りますが、削除タイムスタンプが記録されます。一方、ネットワークに係る連絡先、 エンドポイント、識別子、タグ、マシンタグおよびコメントに関しては、物理削除を行います。 すなわち、エントリーは完全に削除されます。

リソースURL メソッド レスポンス 説明 認証 ページング パラメータ
/network GET Network List 全ネットワークを表示 false true q, identifier, identifierType
/network POST UUID 新規ネットワークを作成 true false
/network/{UUID} GET Network 一ネットワークの詳細を取得 false false
/network/{UUID} PUT ネットワークを更新 true false
network/{UUID} DELETE ネットワークを削除。ネットワークのエントリーには削除タイムスタンプが記録されるが、データそのものは残る。 true false
/network/{UUID}/contact GET Contact List ネットワークの全連絡先を表示 false false
/network/{UUID}/contact POST ID ネットワークの連絡先を作成・追加 true false
/network/{UUID}/contact/{ID} DELETE ネットワークの連絡先を連絡先識別子{ID}により削除 true false
/network/{UUID}/contact/{ID} PUT ネットワークの連絡先を連絡先識別子{ID}により更新 true false
/network/{UUID}/endpoint GET Endpoint List ネットワークのエンドポイントを表示 false false
/network/{UUID}/endpoint POST ID ネットワークのエンドポイントを作成 true false
/network/{UUID}/endpoint/{ID} DELETE ネットワークのエンドポイントを識別子{ID}により削除 true false
/network/{UUID}/identifier GET Identifier List ネットワーク識別子を表示 false false
/network/{UUID}/identifier POST ID 新規のネットワーク識別子を作成 true false
/network/{UUID}/identifier/{ID} DELETE ネットワークの識別子を識別子{ID}により削除 true false
/network/{UUID}/tag GET Tag List ネットワークの全タグを表示 false false
/network/{UUID}/tag POST ID ネットワークのタグを作成・追加 true false
/network/{UUID}/tag/{ID} DELETE ネットワークのタグをタグ識別子{ID}により削除 true false
/network/{UUID}/machineTag GET Machine Tag List ネットワークの全マシンタグを表示 false false
/network/{UUID}/machineTag POST ID ネットワークのマシンタグを作成・追加 true false
/network/{UUID}/machineTag/{ID} DELETE ネットワークのマシンタグをマシンタグ識別子{ID}により削除 false false
/network/{UUID}/comment GET Comment List ネットワークの全コメントを表示 false false
/network/{UUID}/comment POST ID ネットワークのコメントを作成・追加 true false
/network/{UUID}/comment DELETE ネットワークのコメントをコメント識別子{ID}により削除 true false
/network/{UUID}/constituents GET Dataset List ネットワークのデータセット構成要素を表示 false true
/network/{UUID}/constituents POST ネットワーク構成要素リストに既存のデータセットを追加 true false
/network/{UUID}/constituents DELETE ID ネットワークから既存の構成データセットを削除 true false

クエリ・パラメータの解説

上記の登録APIには、以下のパラメータを使うことができます。

パラメータ 説明
continent 現在は未対応であるが、将来的には、大陸区分に基づいて、データセットのフィルタリングが可能になる予定。大陸区分の詳細については、Continent enumを参照のこと。
country ISO639-1(2文字)言語名コードにより国別のフィルタリングを行う。データセット検索には未対応であるが、将来的には、データセットが対象とする地理空間に該当する国に関して、検索が可能になる予定。
decade データセットに対し、対象期間を10年単位でフィルタリングを行う。10年毎の期間は、1880、1960や2000等の切りの良い年号で示す。検索結果には、当該期間に完全に含まれるデータセットや当該期間を含むデータセットが返される。10年毎の内訳を絞り込み検索する場合には、次の例を参考にされたい:/search?facet=DECADE&limit=0。
facet ファセット検索により、当該フィールドで頻度の高い順に100件の結果を表示。使用可能なファセット検索項目は、以下のとおり:type、keyword、publishingOrg、hostingOrg、decadeおよびpublishingCountry。この他、subtypeおよびcountryも正式なパラメータであるものの、現在のところ未対応であるため、戻り値が表示されない。
facetMincount ファセット・パラメータと一緒に使用。facetMincount={#}と設定すると、件数が{#}未満のファセットは除外される。すなわち、/search?facet=type&limit=0&facetMincount=10000 では、type値が'CHECKLIST' および'METADATA'である件数はそれぞれ10000未満であることから、 'OCCURRENCE'のみ表示される。
facetMultiselect ファセット・パラメータと一緒に使用。facetMultiselect=trueと設定することにより、フィルタリングの対象となっていない変数値に対する件数が戻される。すなわち、 /search?facet=type&limit=0&type=CHECKLIST&facetMultiselect=true では、type=CHECKLISTによりフィルタリングを行っているにも関わらず、type値が'OCCURRENCE' および'METADATA'である結果も表示される。
hl hl=trueと設定することにより、フルテキスト検索のクエリに該当する用語をハイライト表示する。ハイライトは、’gbifH1’クラスの強調タグによる。例えば、 /search?q=plant&hl=trueを参照のこと。フルテキスト検索フィールドには、以下のものがある:タイトル、キーワード、国名、公開国名、公開機関名、ホスト機関名および説明。メタデータ文書の情報を含むフルテキスト・フィールドに対して、追加的に検索が行われるが、このフィールドのテキストは、結果には表示されない。
hostingOrg データセットのホスト機関UUIDキーにより、データセットのフィルタリングを行う。
identifier このパラメータが取る値は、単純文字列又は整数である。例:identifier=120
identifierType ‘identifier’パラメータと一緒に用いて、識別子タイプにより識別子のフィルタリングを行う。詳細は、IdentifierType enumを参照のこと。
keyword プレーンテキスト形式のキーワードにより、データセットのフィルタリングを行う。大文字・小文字の区別をしない。検索は、データセットのkeywordCollectionsおよびtemporalCoveragesのタグを併合したコレクションに対して行う。
publishingCountry ISO639-1(2文字)言語名コードを用いて、データセット所有機関の国別にデータセットのフィルタリングを行う。
publishingOrg データセットの公開機関UUIDキーにより、データセットのフィルタリングを行う。
q 単純検索用パラメータである。このパラメータが取る値は、単語または語句である。ワイルドカードは、単語の場合のみ使用可能である。例:q=*puma*
subtype 現在は未対応であるが、将来的には、データセットのサブタイプに基づいて、データセットのフィルタリングが可能になる予定。データセットのサブタイプに関する詳細については、DatasetSubtype enumを参照のこと。
type データセットに対して、データセットのタイプによりフィルタリングを行う。詳細は、DatasetType enumを参照のこと。また、メタデータ文書に対して、メタデータのタイプによりフィルタリングを行う。詳細は、MetadataType enumを参照のこと。

OAI-PMH

REST対応JSON形式APIの他に、OAI-PMHを用いてデータセットの検索が可能です。 二種類のメタデータ形式、EML(生態学メタデータ言語)およびOAIダブリンコアを用いて検索ができます。 データセットは、タイプ、国およびインストレーションに基づいて、セットにグループ分けされています。

エンドポイントは、http://api.gbif.org/v1/oai-pmh/registryです。

クエリの例:

  • OAI-PMHサービスに関する情報を検索する場合。
    http://api.gbif.org/v1/oai-pmh/registry?verb=Identify.
  • 利用可能なセット(データセットタイプ、国および配信インストレーション)のリストを検索する場合。
    http://api.gbif.org/v1/oai-pmh/registry?verb=ListSets.
    セットには、dataset_type:CHECKLISTやcountry:NLなどの名前があります。
  • 特定のインストレーションから全データセットの識別子を検索する場合。
    http://api.gbif.org/v1/oai-pmh/registry?verb=ListIdentifiers&set=installation:804b8dd0-07ac-4a30-bf92-3c1d862faf5e&metadataPrefix=eml.
    OAI-PMHプロトコールでは、oai_dcおよびemlの両形式とも全データセットでサポートされていますが、metadataPrefixは、どちらかの形式に設定しなければなりません。
  • ある国にあるインストレーションから全データセットのメタデータを検索する場合。
    http://api.gbif.org/v1/oai-pmh/registry?verb=ListRecords&set=country:NL&metadataPrefix=oai_dc.
    国コードは、ISO 3166-1規格に基づいています。
  • クエリによっては、結果が1ページを超える場合があります。その場合、XMLの最後には、例えば次のような再開トークン(resumptionToken)が表示されます。
    MToxMDB8Mjpjb3VudHJ5Ok5MfDM6fDQ6fDU6b2FpX2Rj
    次ページを表示する場合は、次のように行います。
    http://api.gbif.org/v1/oai-pmh/registry?verb=ListRecords&resumptionToken=MToxMDB8Mjpjb3VudHJ5Ok5MfDM6fDQ6fDU6b2FpX2Rj.
    プロトコールの詳細は、The Open Archives Initiative Protocol for Metadata Harvesting、特に4. Protocol Requests and Responsesにあります。