Data standards

Sites can exchange data without loss only if every field means the same thing and takes the same values everywhere. The vocabularies below are a data contract: changes must be made on all nodes together.

Multilingual names

Names are stored per language: {"zh_CN": "宫保鸡丁", "en": "Kung Pao Chicken", "fr": "Poulet Kung Pao"}. Language codes: Chinese is zh_CN or zh_TW; other languages use two-letter codes. Display takes the page language and falls back in turn to the site default, Simplified Chinese, and any language present.

Facets of a dish

Classification is kept apart from presentation: where a dish sits on a menu is the restaurant’s choice; what it is, is described by the independent facets below.

FacetMeaningValues
CoursePlace in a mealAppetiser, soup, main, staple, side, dessert, beverage, sauce (single)
Main ingredientWhat it is mainly made ofBeef, poultry, pork, lamb, seafood, egg and dairy, soy, vegetable, mushroom, grain (multiple)
CuisineCuisines under regionsA tree, extensible (multiple)
Cooking methodMultiple
TemperatureAs servedSingle
SpicinessInteger 0 to 5
AllergensThe fourteen EU allergensThree states each; mandatory
Diet, religion and ethics, content flagsDeclarations such as vegetarian or halal; objective flags such as contains alcoholMultiple
NutritionKey–value map
Main facets

Allergens

The fourteen classes of Annex II to Regulation (EU) No 1169/2011: cereals containing gluten, crustaceans, eggs, fish, peanuts, soybeans, milk, tree nuts, celery, mustard, sesame, sulphur dioxide and sulphites, lupin, molluscs. Each takes one of three states: contains, may contain, free from.

About allergens. Allergens in the dish library are reference labels. What a dish actually contains in a given restaurant depends on that restaurant’s recipe and the day’s preparation; the restaurant’s own declaration prevails. See the disclaimer.

Ingredients and traditional labels

Ingredient categories are a fixed vocabulary: vegetables, fruit, meat and poultry, seafood, eggs, soy products, staples and grains, nuts, aromatics, seasonings, beverages. Each ingredient also carries three labels from the food-therapy tradition:

DimensionValuesCardinality
NatureHot, warm, neutral, cool, coldSingle
FlavoursPungent, sweet, sour, bitter, saltyMultiple
PhaseWater, wood, fire, earth, metalSingle
The three traditional dimensions

The traditional labels record a traditional classification as a reference for combining dishes. They are not nutritional findings and certainly not medical advice.

Supply entries

Three kinds — ingredient, supply, equipment — each with its own category vocabulary (see the supply network). Other fields: multilingual name, brand, specification, packaging, unit, price and currency, minimum order quantity, lead time in days. Ingredient entries are linked to the ingredient library by its codes.

Provenance and versions

Every record carries its provenance (which node, who contributed it, when it was updated) and a version number that increases with each change. Once imported, data belongs to the restaurant and evolves separately from the library record.

AI Assistant