[Tagging] Tagging of food declarations in restaurants
Toggenburger Lukas
Lukas.Toggenburger at fhgr.ch
Fri Nov 5 20:21:33 UTC 2021
Dear list
tl;dr I would like to develop a tagging scheme specifying origin and production methods for food (primarily meat) served in restaurants, as well as some surrounding concepts.
# Context
I live in Switzerland where there is a legal requirement for restaurants, hospitals, etc. to declare the country of production for most types of meat in written form (either on the menu or on a poster visible to customers). Furthermore, certain kinds of production methods need to be declared, e.g. the stimulation of growth using hormones or antibiotics. There are further food properties for which a declaration is only required in some cases, e.g. the type of husbandry for chicken eggs: Declaration is required if the chickens had to live in cages, but not if they had access to the ground and the ability to roam around. I assume there are similar rules for other countries as well.
I am seeking mappers interested in defining a tagging scheme that would allow to tag such properties of facilities, like restaurants, vending/distributing food. The tagging scheme should be able to handle the situation in and beyond Switzerland. I would like your input on the following aspects:
- Laws/customs in other countries
- Defining tags that are internationally useful (both structural and showing proper use of the English language (which is not my native tongue))
# Properties
The tagging scheme should allow to specify at least the following (derived and generalized from Swiss laws, sources further below):
1. Differing properties per food/animal species.
2. For all food: The **country of origin/production**. Larger regions such as "European Union" and "South America" should also be possible to tag. (I do assume that legally all food has only one country of origin.) [1]
3. For (wild) animals and seafood (incl. fish, etc.): Whether it was **captured** (e.g. from the forest/sea) or **bred** (held in a cage or similar) [2]
4. For captured seafood: The **FAO fishing area** (including subareas, divisions, subdivions), e.g. Area 34 = Eastern Central Atlantic. See http://www.fao.org/fishery/area/search/en [3]
5. For meat: Whether the animal received **growth stimulants** (can either be hormonal, non-hormonal (e.g. antibiotics), or both) [4]
6. For all food: Whether it is/contains **genetically modified organisms (GMO)**. [5]
7. For all food: Whether it was treated with **ionizing radiation** (irradiation). [6]
8. For animals and animal products: Whether the animal was bred/kept in a **keeping that is not legal** where the food is sold. [7]
9. For all food: **The (eco)label** (if any): E.g. for fish MSC ( https://en.wikipedia.org/wiki/Marine_Stewardship_Council ), ASC ( https://en.wikipedia.org/wiki/Aquaculture_Stewardship_Council ) or for (chicken) eggs: One of the many from e.g. https://essenmitherz.ch/labels-eier/, e.g. generic "Bio" (=organic), "Demeter", "Agri Natura", etc.
10. For all food: **Allergens** contained in the food.
11. **URLs** for food declarations and menus
12. For all food (if information is given): Information about **origin and supplier**
13. For all food: **Additional declarations (promises)** about the food quality.
14. For all food: **Translations** of custom food names.
# Examples with thoughts and questions
So, without further ado, some examples using a first draft of a tagging scheme:
## Example 1: Prefix food:, ISO 3166-1 alpha-2 country code
Brazilian beef:
food:beef:country=BR
I propose to use a prefix `food:`, similar to e.g. https://wiki.openstreetmap.org/wiki/Key:contact .
Is there already a tag for specifying the original country of something? I found https://wiki.openstreetmap.org/wiki/Key:origin . We could extend the key to describe what we are talking about, but I do not like the usage of adjectives, e.g. `french` (instead of `France`). There is ISO 3166-1 alpha-2, that is already used in OSM context, see https://wiki.openstreetmap.org/wiki/Country_code . Coincidentally, it is also used in Swiss law. For these reasons, I propose to use ISO 3166-1 alpha-2 codes.
Originally I planned to use `food:*:origin=*` here, but now propose to use `origin` for describing from where (e.g. from which farm) a food originates.
Using the key `country` may also not be ideal:
- There can be entities that are not countries (e.g. EU or South America, see later examples).
- A declaration can name more than one country, so the key sould be `countries` then.
## Example 2: Origin: European Union
Beef from the European Union:
food:beef:country=EU
Strictly speaking `EU` is not formally included in ISO 3166-1. Wikipedia at https://en.wikipedia.org/wiki/ISO_3166-1#Criteria_for_inclusion says:
For example, because the European Union is not a country, it is not
formally included in ISO 3166-1, but for practical reasons, the ISO 3166/MA
has "reserved the two-letter combination EU for the purpose of identifying
the European Union within the framework of ISO 3166-1".
I guess it's therefore fine to use `EU`.
## Example 3: Origin: Regions larger than a country
Honey from South America:
food:honey:country=South America
Since Swiss law allows to specify regions larger than one country ( https://www.fedlex.admin.ch/eli/cc/2017/158/de#art_15 (Abs. 4)) for some food, I propose to allow to write out these regions, but would still require/recommend to use the ISO codes for countries.
## Example 4: Specifying the FAO fishing area
Salmon from the Baltic Sea:
food:salmon:fao=27.3.d
The example references the fishing area by code. This syntax is used on the FAO website. (Swiss law uses another syntax using roman numerals (e.g. `27 III d`), see https://www.fedlex.admin.ch/eli/oc/2017/158/de (Anhang 4), but without further objections I would give preference to the FAO style.)
Another variant could be referencing by english (or local) FAO name (e.g. `Baltic Sea`).
I would say that the desired tagging should be by code, since it probably has the least chance of getting misunderstood and won't change often. (But it may be harder to map these on the go.) I would still allow english and local names but propose to provide a lookup table and encourage mappers to convert existing (i.e. mapped) entries to FAO codes.
## Example 5: GMO, irradiation, growth stimulants
GMO-beef, that has been irradiated, having received hormonal and non-hormonal growth-stimulants:
food:beef:gmo=yes
food:beef:irradiated=yes
food:beef:growth_stimulants=hormonal; non-hormonal
If no GMOs, irradiation and growth stimulants were used, we can set their keys to `no`.
Further I propose `food:*:growth_stimulants=yes` for usage of unspecified kinds of growth stimulants, i.e. could be hormonal, non-hormonal or both.
Are there other non-hormonal growth stimulants than anti-biotics? What are they? And do we need tags for them?
It was suggested to me to generally use the pattern `food:beef=gmo; irradiated` where applicable. While this is shorter regarding number characters and number of tags, I miss the opportunity to explicitly tag a feature as absent (e.g. `food:beef:gmo=no`) and to extend the tagging scheme in the future, e.g. something like `food:beef:irradiated=x-ray`.
## Example 6: Custom food names
Chicken legs and nuggets from different countries:
food:Chicken leg:country=BR
food:Chicken nugget:country=US
Both foods are made from chicken. This notation allows to assign the given chicken-made foods to their origin countries.
There can be arbitrary food/meal names such as `food:Mike's Mega Burger:<something>=<something>`. This will be useful when tagging allergens.
This style has the disadvantage that it will produce a large number of keys. This might make it difficult for editors (e.g. JOSM, Vespucci) to add tagging presets. Theoretically, we could switch roles of key and value, leading to something like:
food:origin:BR=Chicken leg
food:origin:US=Chicken nugget
But this would have disadvantages as well:
- It would need reordering when tagging, because usually a declaration says "food X is coming from country Y" and not the other way around. This gets more difficult when there are longer lists of food items. The longest I recently saw had 21 different foods coming from 10 countries.
- The problem we try to solve persists, if one food is coming from multiple countries: `food:origin:BR;US=chicken` (or identical: `food:origin:US;BR=chicken`)
## Example 7a: One type of meat from differing countries
Sometimes we see declarations like "Pork: Switzerland/Germany":
food:pork:country=CH; DE
The given tagging would explicitly not specify whether the two types of pork are used in different meals or whether one meal might use the two types in turn (or even mix them).
## Example 7b: One type of meat from differing countries used in different meals
food:pork:country=DE
food:pork:growth_stimulants=no
food:pork_1:country=BR
food:pork_1:growth_stimulants=yes
This one might be controversial. I propose to allow adding a suffix `_1`, `_2`, etc. if it is necessary to differentiate between types of meat of the same kind (pork in the given example). This kind of tagging would be used if we have additional knowledge about the origin/usage of the types of meat.
I propose the same naming system also for quality labels.
## Example 7c: Multiple types of pork from differing countries used in the same meal
food:pork:country=CH & DE
Probably another controversial suggestion: If pork from two origins is used in the same meal either in turn or even mixed into the same meal. This type of tagging should only be used if the mapper has an indication that multiple types of meat are indeed used in the same meal.
I propose the same syntax for quality labels.
## Example 8: Link ingredient to food
A kind of beef that is used in two meals:
food:beef:country=NZ
food:beef:used_in=Mike's Mega Burger; Kathrins's Kiddy Burger
This example links an ingredient (`beef`) with a food (`Mike's Mega Burger` and `Kathrins's Kiddy Burger`). The burgers might get further tags, e.g. allergens.
This syntax may be combined with the syntax for multiple meats of the same type (note the `_1` suffix):
food:beef_1:country=NZ
food:beef_1:used_in=Mike's Mega Burger; Kathrins's Kiddy Burger
## Example 9: Types of breeding
Red deer hunted in the wild / bred in captivity:
food:red deer:breeding=wild
vs.
food:red deer:breeding=farmed
Salmon fished in the wild / bred in captivity:
food:salmon:breeding=wild
vs.
food:salmon:breeding=farmed
I am at the edge of my English skills here. What is the proper vocabulary here, specifying whether the animals stem from the wildness or from captivity? The possible terms I came across were: captured/catched/hunted/wild and bred/raised/grown/reared/cultured/cultivated/farmed. The terms would ideally apply for both seafood and wild animals (and maybe even insects).
And what is the umbrella term that should go into the tag's key? breeding/harvest/harvesting method/husbandry? The term should also concisely differ from the one that describes how chicken were held (see possible values in these examples).
As far as I am informed, Sámi people from Finland perform a form of reindeer herding, where animals are not in a cage and theoretically could run away, but usually don't. Would that be `wild` or `farmed`?
## Example 10a: Categories for living conditions/farming: Illegal farming
Swiss law allows to sell imported meat from domestic rabbits and imported eggs from chicken that were held in circumstances that are illegal in Switzerland. Such meat/eggs then requires a special declaration. Other countries might know this too. I propose the tagging
food:egg:farming=illegal_here
food:rabbit:farming=illegal_here
for animals and animal products that were bred/kept in a keeping that is not legal where the food is sold.
## Example 10b: Categories for living conditions/farming: EU categories for eggs
Wikipedia at https://en.wikipedia.org/wiki/Free_range#European_Union and https://en.wikipedia.org/wiki/Egg_marking#Method_of_production lists 4 categories for egg production methods in the EU: 0=organic, 1=free range, 2=barn/indoor, 3=cages: The smaller the number, the more living space for each hen. This code system is also used in Switzerland, but with a small twist: Organic/bio eggs usually (always?) are also marketed as free range, but on the other hand, you will find free range eggs, NOT marketed as organic/bio.
Organic farming (code 0):
food:egg:farming=organic
Free-range farming (code 1) (german: "Freilandhaltung"):
food:egg:farming=free-range
"living indoor on ground" farming (code 2) (german: "Bodenhaltung"):
food:egg:farming=indoor
"living in cages" farming (code 3) (german: "Käfighaltung"):
food:egg:farming=cage
For eggs a valid tagging could be:
food:egg:farming=cage; illegal_here
Another example for rabbit meat:
food:rabbit:farming=illegal_here
Some remarks:
Are these terms/concepts also used outside the EU?
Is the word/key "farming" appropriate here? The term/key should also concisely differ from the one that describes the difference between animals hunted in the wild vs. animals living in cages.
Using value `organic` here would be synonymous with `food:egg:label=bio` or `food:egg:label=organic` (see below). I propose that a plain bio/organic label should be handled in `food:egg:farming=*`, whereas more specific labels should be handled in `food:egg:label=*`.
Should the value `illegal_here` get its own key? It possibly applies to all animals, while the egg production method applies only to poultry.
Are there other farming categories (indicating better or worse living conditions) for other types of animals?
## Example 11: Food with a label
Farmed salmon with ASC label:
food:salmon:breeding=farmed
food:salmon:label=ASC
Demeter chicken eggs:
food:egg:label=Demeter
## Example 12a: Multiple labels
Chicken eggs with multiple labels (unspecified if there are differing types off egg or one type having multiple labels):
food:egg:label=KAGfreiland; Zweinutzungshuhn
## Example 12b: Two kinds of food with differing labels
Two kinds of chicken eggs with differing labels:
food:egg:label=KAGfreiland
food:egg_1:label=Zweinutzungshuhn
This is the same naming scheme (using numbered suffixes) as used for origin countries.
The example might be amended by something like:
food:egg:used_in=Mike's Mega Burger
food:egg_1:used_in=Spaghetti Carbonara
## Example 12c: One kind of food having two labels:
Eggs having the two labels KAGfreiland and Zweinutzungshuhn:
food:egg:label=KAGfreiland & Zweinutzungshuhn
This is the same syntax as (using `&`) as used for origin countries.
To be honest, I cannot remember having seen eggs having two labels (except Bio plus something).
## Example 13: Allergens
Since allergens may be declared alongside other food declarations, I propose to define a tag for these as well:
food:Sarah's special salad:allergens=egg; fish; peanut; soy; milk
There aren't that many allergens so we might pre-collect a list of possible values in order to avoid differing spellings.
## Example 14: URL for menu/declaration
Since the subject of this tagging (food declarations) often will be presented in written form, chances are high they can be found online. To make it easier to end-users and fellow mappers to check declarations, I propose the following tag:
contact:website:food_declaration=https://www.example.org/food-declaration
Often this might be same URL as the one for the menu. If URLs differ or one wants to map both, I also propose:
contact:website:menu=https://www.example.org/menu
## Example 15: Food origin and supplier
Information about **where the food originates** (e.g. the name of the farm where animals were raised).
food:beef:origin=Freddy Farmer, Farmville
Information about who is the **supplier**, i.e. who sold/gave it to the restaurant (e.g. the name of a local butcher's shop), typically after doing a (final) processing/refinement step.
food:beef:supplier=Bart Butcher, 123 Example street, Butcherville
Restaurants may voluntarily give this information to attest quality/regionality.
## Example 16: Additional declarations (promises)
Anecdote: I once saw meat (probably Salami) from Italy in a swiss shop. It had a declaration: "Respecting Swiss animal protection laws" (Swiss law is probably more strict than Italian/EU law.) That is something like a label, but not quite, since it was declared by the shop itself.
food:salami:promise=Respecting Swiss animal protection laws
Another one could be:
food:tuna:promise=Fished with rod
## Example 17: Food name translations
There may be instances where we would like to translate (custom) food names.
food:Mike's Mega Burger:name:de=Michaels megamässiger Hamburger
Tagging would be analogous to https://wiki.openstreetmap.org/wiki/Multilingual_names .
# FAQ
## Aren't food declarations changed all the time?
Maybe. I honestly do not know. But,
1. Even if a declaration for a food eventually changes, the others will still be correct.
2. Some restaurants already use declarations like `food:pork:country=CH; DE` in order to allow for changing origins without having to adjust the declaration all the times.
3. As soon as we have mapped some declarations that changed over time, we will be able to create statistics about that. I guess this kind of data will be hard to find otherwise.
# Next steps
If you are interested in this tagging scheme, please share you input. To learn more about the legal situation in your country, it may make sense to find a summary like [8], instead of searching through all possibly relevant laws. Fun fact (from [8]): In Switzerland there are 31 (!) law texts that are relevant for restaurant hosts.
I guess the extent of tags that I would like to introduce justifies (or necessitates) writing a proposal according to https://wiki.openstreetmap.org/wiki/Proposal_process . Since I have never done that before, I could need some help setting the page and everything up. I still can do the heavy lifting of writing a draft for a Wiki page myself, as soon as we have a rough consensus how things should look like.
# Sources for legal situation in Switzerland:
[1] https://www.fedlex.admin.ch/eli/cc/2017/158/de#art_5, https://www.fedlex.admin.ch/eli/cc/2017/158/de#art_15 (especially Abs. 4, Abs. 7)
[2] https://gastropedia.ch/deklaration-gastronomie/139/ (section "Produktion"), https://www.wirtepatent.ch/de/wissen/lebensmitteldeklaration-n-was-schreibt-das-lebensmittelgesetz-vor-122.html
[3] https://www.fedlex.admin.ch/eli/cc/2017/158/de#art_15 (Abs. 5), https://www.fedlex.admin.ch/eli/cc/2017/158/de#annex_4
[4] https://www.fedlex.admin.ch/eli/cc/2003/738/de#art_2 (Abs. 4 Bst. a), https://www.fedlex.admin.ch/eli/cc/2003/738/de#art_3 (Art. 3 Abs. 1)
[5] https://www.fedlex.admin.ch/eli/cc/2020/456/de#art_8
[6] https://www.fedlex.admin.ch/eli/cc/2017/158/de#art_3 (Abs. 1 Bst. q), https://www.fedlex.admin.ch/eli/cc/2017/158/de#annex_2 (Teil A, Abs. 3)
[7] https://www.fedlex.admin.ch/eli/cc/2003/738/de#art_2 (Abs. 4 Bst. b), https://www.fedlex.admin.ch/eli/cc/2003/738/de#art_3 (Art. 3 Abs. 2), https://www.fedlex.admin.ch/eli/cc/2003/738/de#art_4
Further sources:
[8] GVG = Leitlinie gute Verfahrenspraxis im Gastgewerbe: https://www.gastrosuisse.ch/fileadmin/oeffentliche-dateien/merkblaetter-gastgewerbe-gastrosuisse/downloads/merkblatt-hygiene-und-lebensmittelsicherheit-gute-verfahrenspraxis-im-gastgewerbe-gvg-hygiene-leitlinie.pdf (officially approved best-practice guide for hotels/restaurants) (mostly section 2.6.2)
Best regards
Lukas Toggenburger
More information about the Tagging
mailing list