About Food DB

Food DB とは

Food DB は、食材を同じものとして扱うための Food identity と、重さ・栄養・旬・保存・代用・買い物単位などの情報を、出典とレビュー状態とともに管理するデータベースです。

Production 2,710 Food
Production 2,642 Food Variant
Production 13,560 栄養成分値
Production 247 重量換算

何を解決するデータベースか

家庭料理では、「玉ねぎ1個は何gか」「木綿豆腐と絹ごし豆腐を同じ食材としてまとめてよいか」「乾燥ひじきと戻したひじきの栄養値は同じか」のように、名前・状態・量をまたいだ判断が必要になります。

Food DB は、表記揺れを安定した Food / Food Variant へつなぎ、その identity から重量換算、栄養、買い物上のまとめ方、旬、保存、代用へ辿れるようにします。

Food DB が持つ情報

Food / Variant

食材の正体、部位、製品形態、MEXT で別食品になる「生」「ゆで」「乾燥」などを区別します。

重量・買い物

1個、大さじ、1片などを g へ換算し、買い物リストでまとめる単位へ接続します。

栄養

主に MEXT 由来の100gあたり成分値を Food Variant 単位で保持します。

旬・保存・代用

地域や条件を伴う情報を、適用範囲と根拠を分けて管理します。

別名・表記揺れ

ひらがな、漢字、商品形態、レシピ上の表現を canonical Food へ解決します。

根拠とレビュー

source、confidence、review status、競合する claim を分け、未確定値を確定値として扱いません。

Food と Food Variant

Food は家庭で同じ食材として選ぶ単位です。Food Variant は、その中で栄養や換算を分ける必要がある種類・部位・状態を表します。

例: ほうれん草

「ほうれん草」という Food の下に、MEXT の「生」「ゆで」「油炒め」などを別 Variant として保持できます。ここでの状態は工程中の任意状態ではなく、別の食品成分値を参照するための identity です。

栄養値の読み方

Food DB の栄養値は、選択した Food Variant の100gあたり成分値です。換算データがある場合は、1個・1杯などの量へ換算して表示できます。

完成料理を化学分析した値ではなく、標準食品値による計算の基礎データです。調理条件や商品固有値によって実際の値は変わります。

正本と公開範囲

正本は Neon Postgres の food_db.* です。このWebサイトは、正本から公開可能な項目だけを取り出した静的な public projection です。

  • candidate、review中、出典不足の情報は、非公開または注意表示になります。
  • 欠損値を0や推定値で埋めません。
  • 出典間で矛盾する値は、claim と conflict として分離します。
  • 生成JSONやSQLiteは公開・評価・運用補助であり、canonicalな正本ではありません。

更新の流れ

  1. 収集: 公的資料、一次情報、実Recipeで発見した不足を記録
  2. 候補化: Food identity、換算、栄養、保存などの candidate を作成
  3. 検証: 出典、重複、適用範囲、競合を確認
  4. 正本化: レビュー済みの情報を canonical table へ反映
  5. 公開: 公開条件を満たす項目だけをWebサイトへ投影

技術構成

Neon Postgres

Food、Variant、栄養、換算、出典、claim の canonical data。

Astro

公開可能なFoodデータから静的ページを生成。

Cloudflare Pages

Food DB の public projection を配信。