About Food DB
Food DB とは
Food DB は、食材を同じものとして扱うための Food identity と、重さ・栄養・旬・保存・代用・買い物単位などの情報を、出典とレビュー状態とともに管理するデータベースです。
何を解決するデータベースか
家庭料理では、「玉ねぎ1個は何gか」「木綿豆腐と絹ごし豆腐を同じ食材としてまとめてよいか」「乾燥ひじきと戻したひじきの栄養値は同じか」のように、名前・状態・量をまたいだ判断が必要になります。
Food DB は、表記揺れを安定した Food / Food Variant へつなぎ、その identity から重量換算、栄養、買い物上のまとめ方、旬、保存、代用へ辿れるようにします。
Food DB が持つ情報
食材の正体、部位、製品形態、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な正本ではありません。
更新の流れ
- 収集: 公的資料、一次情報、実Recipeで発見した不足を記録
- 候補化: Food identity、換算、栄養、保存などの candidate を作成
- 検証: 出典、重複、適用範囲、競合を確認
- 正本化: レビュー済みの情報を canonical table へ反映
- 公開: 公開条件を満たす項目だけをWebサイトへ投影
技術構成
Food、Variant、栄養、換算、出典、claim の canonical data。
公開可能なFoodデータから静的ページを生成。
Food DB の public projection を配信。