AMEE API / AMEE Concepts

AMEEのAPIについて調べていきたいと思います。このページの「API Manual」を一つずつ読んでいこうと考えています。今回は、先頭の「AMEE Concepts」です。詳細については理解が微妙な部分もありましたが、それらについては、詳細資料を見つつ、実際に動かしてみればわかるのではないかと感じています。
http://my.amee.com/developers/wiki/AmeeConcepts

  • Overview
    • Profileとは
      • AMEEは、CO2排出量をProfileの一部として計算し保管しているウェブアプリケーション
      • Profileは、個人やグループ、組織や他のエンティティに属している
      • ProfileとProfileItemsは、AMEEの中の重要なエンティティ
  • Profiles, Profile Items & Profile Item Values
    • Profiles
      • 様々なProfileItemsのCO2排出量をトラックする
    • ProfileItems
      • それぞれのProfileItemが車/航空機/冷蔵庫などを意味する
      • つまり、CO2排出量に影響を与える要素の全て
      • それぞれのProfileItemのCO2排出量は、AMEEによって個別に算出される
      • 使っている電球の個数などといった、付随的な情報も持てる
      • これらの値は、ProfileItemValueのレコードして保管される
    • CO2換算処理をする時
      • ProfilesやProfileItemsに関連する様々なエンティティを使う
      • DataItemsやItemDefinitions、Algorithmsがそれに当たる
  • Profile History
    • それぞれのProfileは履歴情報を持てる
      • これによって、指定した日時におけるProfileの状態を参照することができる
      • あるProfileについて、異なる時期の間で比較することが可能になる
    • 詳細はこちら : http://my.amee.com/developers/wiki/ProfileHistory
  • Data Categories, Data Items & Data Item Values
    • DataItems
      • それぞれのProfileItemは、一つのDataItemに関連づけられている
      • DataItemは、そのProfileの中で計測可能な、独立したitem
      • 例えば、移動手段(英国のタクシー)やアプライアンス(A++評価の冷蔵庫)
      • ProfileItemを作成する時に、関連させるDataItemを指定しなければならない
      • つまり、この時点で、冷蔵庫や電球のタイプを宣言するわけだ
    • DataItemValues
      • DataItemは、排出量を計算するために必要な正確な値を保持している
      • 例えば、A++評価冷蔵庫の電気使用量(KWh)
      • こららの値はDataItemValueのレコードして保管される
    • DataCategories
      • 似たようなDataItemsはカテゴリー化される
      • 例えば、車/航空機/タクシーは"Transport"カテゴリーに分類される
      • これらのカテゴリーをAMEEでは、DataCategoryと表現している
      • カテゴリー同士をネスト化することができる
      • 詳細はこちら(URLアーキテクチャ) : http://my.amee.com/developers/wiki/UrlArchitecture
      • ProfileItemsとProfileCategoriesの関係も、これと同じである
  • Item Definitions, Item Value Definitions, Value Definitions & Algorithms
    • defenitions
      • DataItemsやProfileItems、それらのValuesを作成し、使う前にやるべきことがある
      • それは、それらが表しているものが何かを明確にすることだ
      • これらは、ItemDefinition/ItemValueDefinition/ValueTypeのエンティティ経由で行なわれる
    • ItemDefinition
      • DataItemsやProfileItemsが保持できる情報は何かについての詳細
    • ItemValueDefinition
      • DataItemValueやProfileItemValueの中の個々の値についての詳細
    • Algorithms
      • ItemDefinitionsはいくつものAlgorithmsを持つことができる
      • 現時点でAMEEによって実装されている唯一のAlgorithmは、「perMonth」と呼ばれているもの
      • Algorithmsは、ProfileItemのCO2排出量を計算するために必要な特別な計算ロジックを保持している
  • AMEE Entity Diagram