# [Tagging] Multiple values for one key - the cuisine problem.

Colin Smale colin.smale at xs4all.nl
Wed Aug 24 21:05:38 UTC 2016

```Marc, there was a discussion about multi-valued keys earlier this year,
perhaps there is something in there to build upon. IIRC cuisine was one
of the specific examples mentioned.

https://lists.openstreetmap.org/pipermail/tagging/2016-January/028320.html

http://wiki.openstreetmap.org/wiki/Proposed_features/Multivalued_Keys

Regards,

Colin

On 2016-08-24 22:06, Marc Zoutendijk wrote:

> How to tag multiple values for a key? The cuisine problem.
>
> Whenever we tag a restaurant, we also have the option of tagging the kind/style of food that is offered:
>
> amenity=restaurant
> cuisine=french
>
> http://wiki.openstreetmap.org/wiki/Key:cuisine
>
> In the next table I have collected all the values for cuisine that were in use at least 100 times.
> http://mijndev.openstreetmap.nl/~marczoutendijk/taginfo-cuisine-proper.html
>
> Problems arise whenever the choices for food/cuisine are not easy to state with one value, like when we have a restaurant that is both serving french and italian food.
> In the above table, we see the solution that is used often when there exist more values at the same time for a given key: separate the values by semicolons. *[1 [1]]
> This way is also used often for all aother keys that can have multiple values.
> This problem of multiple values for one key has been discussed by me in a few diary entries. *[2 [2]]*[3 [3]]
>
> Using the same key more than once?
> We cannot put:
>
> amenity=restaurant
> cuisine=french
> cuisine=italian
>
> into OSM, because you cannot use the same key twice on the same node. If you try to do that in iD it comes up with cuisine_1 for the second choice.
> That is odd, because it should have named it cuisine_2 in the first place, because cuisine_1 is the default first one, that now has the tag cuisine=*.
> Very confusing to have cuisine=* for the first one and cuisine_1=* for the second one!
> Because iD is the default editor, many beginning mappers use it and aren't even aware of this problem and simply accept what iD offers.
>
> When you enter a new value for a given key in JOSM or try to add an existing key again, it simply removes the other one.
>
> To examine the various ways of tagging this cuisine=* I have taken all the related values from the taginfo database (date 2016-08-05) and put them in various tables.
>
> In the next table you can see _all_ the values that are currently use for the "underscore" (the iD method) namespace:
> http://mijndev.openstreetmap.nl/~marczoutendijk/taginfo-cuisine-underscore.html
>
> There is a third method that mappers use to solve the problem:
>
> amenity=restaurant
> cuisine=french
> cuisine:2=italian
>
> or for the italian choice:
> cuisine:italian=yes
>
> This way is also referred to as namespace tagging and in this table you see _all_ the values currently in use according to this method:
> http://mijndev.openstreetmap.nl/~marczoutendijk/taginfo-cuisine-colon.html
> In this table we sometimes see that the value is still a multiple value list, separated by semicolons.
>
> More problematic (to me) is the use of:
>
> cuisine:XX=value where XX is the iso countrycode.
> What is the purpose of using that code in relation to the food being served?
> Or is it a way of saying that the language in use for the value is given in that XX?
>
> Finally I collected a few rare values:
> http://mijndev.openstreetmap.nl/~marczoutendijk/taginfo-cuisine-rare.html
>
> "Rare" in the sense that they are few but contain extremely long lists of ";" separated values or are in a different script without noting so in the cuisine:XX key.
>
> A problem is that the wiki doesn't mention any of these cases.
> I would like your opinion on which way we should deal with those issues. Mappers have come up (as can be learned from my tables) with a choice of solutions, but it is (at least) a confusing situation.
> If this has been (most likely) discussed before, then there is nothing of that discussion to be found in the mentioned wiki.
>
> Marc
>
> =========
> [1]http://www.openstreetmap.org/user/marczoutendijk/diary/35478
> [2]http://www.openstreetmap.org/user/marczoutendijk/diary/35532
> [3]http://www.openstreetmap.org/user/marczoutendijk/diary/35512
>
> _______________________________________________
> Tagging mailing list
> Tagging at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/tagging