站点之间交换数据而不丢信息,前提是每个字段的含义与取值在各处一致。下面这些词表是数据契约:改动要各节点同步。
多语言名称
名称按语言分别存放:{"zh_CN": "宫保鸡丁", "en": "Kung Pao Chicken", "fr": "Poulet Kung Pao"}。语言代号:中文分 zh_CN 与 zh_TW,其他语言用两位代号。显示时按页面语言取,缺了依次退到站点默认语言、简体中文、任何有的一种。
菜品的分面
分类与呈现分开:一道菜在菜单上放在哪一栏由餐馆定;它「是什么」由下面这些互相独立的面描述。
| 面 | 含义 | 取值 |
|---|---|---|
| 膳食角色 | 在一餐里的位置 | 前菜、汤羹、主菜、主食、配菜、甜点、饮品、酱料(单值) |
| 主食材 | 以什么为主 | 牛肉、禽肉、猪肉、羊肉、水产、蛋奶、豆制、蔬菜、菌菇、谷物(多值) |
| 菜系 | 区域之下分菜系 | 树状,可扩展(多值) |
| 烹法 | 多值 | |
| 温度 | 上桌时的温度 | 单值 |
| 辣度 | 0 到 5 的整数 | |
| 过敏原 | 欧盟十四类 | 每类三态,必须标注 |
| 膳食适宜、宗教与伦理、成分标志 | 素食、清真等声明;含酒精等客观标志 | 多值 |
| 营养 | 键值表 |
过敏原
按欧盟第 1169/2011 号条例附件二的十四类:含麸质谷物、甲壳类、蛋、鱼、花生、大豆、奶、坚果、芹菜、芥末、芝麻、二氧化硫及亚硫酸盐、羽扇豆、软体动物。每一类取三态之一:含有、可能含有、不含。
关于过敏原。菜品库里的过敏原是参考标注。一道菜在某家餐馆里实际含什么,取决于那家餐馆的配方与当日备料,以餐馆自己的声明为准。详见免责声明。
食材与食养预标
食材类别是一张固定的词表:蔬菜、水果、肉禽、水产、蛋类、豆制品、主食谷物、坚果、香辛料、调味品、饮品。每种食材另有三项食养传统的预标:
| 维度 | 取值 | 基数 |
|---|---|---|
| 四气 | 热、温、平、凉、寒 | 单值 |
| 五味 | 辛、甘、酸、苦、咸 | 多值 |
| 五行 | 水、木、火、土、金 | 单值 |
食养预标是传统分类的记录,用于菜品搭配的参考,不是营养学结论,更不是医疗建议。
供应条目
种类三种:食材、用品、设备;各有自己的类别词表(见供销网络)。其余字段:多语言品名、品牌、规格、包装、计量单位、价格与货币、起订量、供货期(天)。食材类条目用食材主库的代号关联到食材。
来源与版本
每条记录带来源(哪个节点、谁贡献、何时更新)与版本号;每次修改版本号加一。导入到餐馆之后的数据归餐馆自己,之后与库里的记录各自演变。