BT

国連の新しいReliefWeb API

| 作者: Eric Stein フォローする 0 人のフォロワー , 翻訳者 徳武 聡 フォローする 0 人のフォロワー 投稿日 2014年5月19日. 推定読書時間: 5 分 |

原文(投稿日:2014/05/10)へのリンク

世界の人道データの情報源がより簡単にアクセスできるようになり、データの柔軟性が向上し、システムの性能と堅牢さが改善されたことで、国際的な支援組織は、よりデータを活用しやすくなるだろう。

ReliefWebUnited Nations Office for the Coordination of Humanitarian Affairs (OCHA)が提供するデータサービスだ。、現在発生している世界中の災害の最新情報や過去の災害の情報にRESTfulなAPI経由でアクセスできる。17年間の災害データに加え、1980代以降の主要な災害に対する国連の報告書も提供する。また、このAPIは人道支援の領域での仕事やトレーニングの機会についての情報センターも提供する。

今回のリリースはバージョン0として知られていた以前のAPIを置き換えるものであり、バージョン1となる。ReliefWebはフロントエンドとバックエンド双方を大幅に改善することで開発者のエクスペリエンスを劇的に改善した。柔軟性と学習しやすさ、需要に従ったスケールアップしやすさを第一の目的とした設計であり、継続的統合によって自動ビルド、自動配置、回帰テストを実現している。

このバージョン1のAPIはHATEOASに準じている。Swaggerベースのドキュメントに加え、API利用ガイドもある。また、APIはいくつかの複雑な問い合わせに対応している。

  • 任意のフィールドの内容によってフィルタリングする。完全一致でもあいまい一致でも可能。
  • 取得するフィールドを制限する。
  • フィールドの数値で並び替えをする。
  • リミットとオフセットでページングする。

システムが高負荷にならないようにするため、APIにはレート制限が設定されている。1回の問い合わせにつき、1000の結果、1日に呼び出せる回数は1000回だ。APIから取得したデータはJSON形式でのみ提供される。エンベロープには返却値のデータ、リンク、その他のメタ情報が含まれている。エラーが発生すると、JSONの返却値には 災害の原因と可能な対策が詳細に記述されている。

例えば、ハリケーンカトリーナの米国への影響についてのレポートを検索するには、次のようにAPIを呼び出せばいい。

GET http://api.rwlabs.org:80/v1/reports?limit=2&query[value]=katrina&filter[field]=primary_country&filter[value]=usa

571のレポートから最初の2つを取得するには、

{
  "href": "http://api.rwlabs.org/v1/reports?limit=2&query%5Bvalue%5D=katrina&filter%5Bfield%5D=primary_country&filter%5Bvalue%5D=usa",
  "time": 7,
  "version": "1",
  "links": {
    "self": {
      "href": "http://api.rwlabs.org/v1/reports?offset=0&limit=10"
    },
    "next": {
      "href": "http://api.rwlabs.org/v1/reports?offset=10&limit=10"
    }
  },
  "totalCount": 571,
  "count": 2,
  "data": [
    {
      "id": "185148",
      "score": 4.980242,
      "href": "http://api.rwlabs.org/v1/reports/185148",
      "fields": {
        "title": "Hurricane Katrina"
      }
    },
    {
      "id": "416571",
      "score": 4.216302,
      "href": "http://api.rwlabs.org/v1/reports/416571",
      "fields": {
        "title": "Katrina Index: Tracking variables of post-Katrina reconstruction"
      }
    }
  ]
}

デフォルトでは、返却値はスコアでソートされる。スコアは問い合わせ対象のフィールドとのマッチの品質によって決まる。hrefのURIを追跡して結果をドリルダウンし、報告の詳細を求めたり、nextリンクで取得結果の次のページを見ることができる。

ReliefWebのAPIはPHPアプリケーションであり、フレームワークにKleinを使い、CMSとしてDrupalを使っている。このプロジェクトに関わっているAdam Ross氏によれば、

[...] 小さなアプリケーションレイヤがElasticSearch上に乗っています。ElasticSearchは複雑なデータのマイニングや探索に優れた能力を発揮します。アプリケーションは、このAPIを使って何かすばらしいものを構築する開発者に優れたユーザエクスペリエンスを提供する。

ReliefWebは人道コミュニティにとっても重要な情報源だ。多くの政府やNGOがReliefWebを使って必要なデータを入手している。ジャーナリストやメディアもReliefWebを使って、今まさに起きている災害を追跡できる。ReliefWebは世界中の4000の情報源から情報を集めて、30人の編集者がレビューし、編集し、タグをつけて、コミュニティに公開している。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT