Changes

Jump to navigation Jump to search
1,560 bytes removed ,  25 February
added slacks discussion
Line 8: Line 8:  
* definition - a single line defines the brand in a specific language, an attribute, etc. Each line starts with a name followed by parameters and separated by a colon
 
* definition - a single line defines the brand in a specific language, an attribute, etc. Each line starts with a name followed by parameters and separated by a colon
 
* parameters:
 
* parameters:
** parent (<zz:) - a reference to another (parent) brand. Thus any attributes shared between parent and child only have to be specified in the parent;
+
** parent (<zz:, where zz is the [https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes country code iso 3166]) - a reference to another (parent) brand. Thus any attributes shared between parent and child only have to be specified in the parent;
** key (''zz:'') - an unique is required, so that we can distinguish between brands with the same name;
+
** key (''zz:'') - should be unique, so that we can distinguish between brands with the same name;
 
** default (xx:) - a default value to be used for any language that is not specifically listed;
 
** default (xx:) - a default value to be used for any language that is not specifically listed;
 
** language (e.g. ''ru:'') - the brand-name in the language ''ru.'' A brand might be defined in multiple languages as needed, with a single line for each language. For instance the ru: might be used to specify a brand in Cyrillic. Sometimes also country specific brands are required.
 
** language (e.g. ''ru:'') - the brand-name in the language ''ru.'' A brand might be defined in multiple languages as needed, with a single line for each language. For instance the ru: might be used to specify a brand in Cyrillic. Sometimes also country specific brands are required.
Line 38: Line 38:  
wikidata:en:Q590921<br>
 
wikidata:en:Q590921<br>
 
<nowiki>#</nowiki>11 products @2022-04-23<br>
 
<nowiki>#</nowiki>11 products @2022-04-23<br>
 +
 +
=== Discussion ===
 +
 +
* '''country code vs language code'''
    
=== Q&A ===
 
=== Q&A ===
Line 45: Line 49:  
*** For [https://world.openfoodfacts.org/product/4009700036810/actimel-granatapfel example], <code>Actimel</code> is sold by <code>Danone</code>.
 
*** For [https://world.openfoodfacts.org/product/4009700036810/actimel-granatapfel example], <code>Actimel</code> is sold by <code>Danone</code>.
 
*** For [https://en.wikipedia.org/wiki/Sainsbury%27s#Product_ranges example], <code>By Sainsbury's</code> is sold by <code>Sainsbury's</code>.
 
*** For [https://en.wikipedia.org/wiki/Sainsbury%27s#Product_ranges example], <code>By Sainsbury's</code> is sold by <code>Sainsbury's</code>.
*** <u>'''Solution'''</u>: make <code>Actimel</code>  a child of <code>Danone</code> in this example.  
+
***<u>'''Solution'''</u>: make <code>Actimel</code>  a child of <code>Danone</code> in this example.
 
** Synonyms. Product is sold with 2 brands, each for different language/countries.  
 
** Synonyms. Product is sold with 2 brands, each for different language/countries.  
 
*** For [https://world.openfoodfacts.org/cgi/product.pl?type=edit&code=0065633280267 example], both <code>Nature Valley</code> and <code>Val Nature</code> can be written on the same product, but not always.
 
*** For [https://world.openfoodfacts.org/cgi/product.pl?type=edit&code=0065633280267 example], both <code>Nature Valley</code> and <code>Val Nature</code> can be written on the same product, but not always.
 +
***<u>'''Solution'''</u>: make <code>Val Nature</code>  a child of <code>Nature Valley</code> in this example because <code>Nature Valley</code>is the original U.S. brand ([https://en.wikipedia.org/wiki/Nature_Valley reference]).
 
*** For [https://world.openfoodfacts.org/brand/sans-nom example], <code>No Name</code> and <code>Sans nom</code> can be written on the same product, but not always.
 
*** For [https://world.openfoodfacts.org/brand/sans-nom example], <code>No Name</code> and <code>Sans nom</code> can be written on the same product, but not always.
*** <u>'''Solution'''</u>: make <code>Val Nature</code>  a child of <code>Nature Valley</code> in this example because <code>Nature Valley</code>is the original U.S. brand ([https://en.wikipedia.org/wiki/Nature_Valley reference]).
+
*** <u>'''Solution'''</u>: make <code>No Name</code> , <code>No Name Sans nom</code> and <code>Sans nom</code> three separate children of <code>Generic brand</code> in this example because they are all lines of <code>Generic brand</code>which is a Canadian brand ([https://en.wikipedia.org/wiki/No_Name_(brand) reference]). Or, the three of them as synonyms of each others and child of <code>Generic brand</code>.
*** <u>'''Solution'''</u>: make <code>No Name</code> , <code>No Name Sans nom</code> and <code>Sans nom</code> 3 separate children of  <code>Generic brand</code> in this example because they are all lines of <code>Generic brand</code>which is a Canadian brand ([https://en.wikipedia.org/wiki/No_Name_(brand) reference]).
+
*** For [https://en.wikipedia.org/wiki/Wall%27s_(ice_cream) example], <code>Miko/wall's ice</code> creams, called <code>Frigo</code> in Spain but <code>Bresler</code> in Chile and Bolivia.
 +
*** <u>'''Solution'''</u>: '''make the taxonomy country specific instead of language specific?'''
 +
*** For example, The Coca-Cola Company sells <code>Fanta</code> in Thailand under <code>Fanta</code> and <code>แฟนต้า</code> names.
 +
*** For example, <code>Danone</code> sells mineral water in Morroco under both <code>عين سايس</code> and <code>aïn Saïss</code> names.
 +
*** For examples, Japanese/English (like <code>味の素</code>/<code>Ajinomoto</code>) or Chinese/English (<code>乐虎</code>/<code>Hi-Tiger</code>)
 +
*** <u>'''Solution 1 (preferred)'''</u>: Synonyms  th: แฟนต้า, fanta  (+) they are at the same level of hierarchy  (-) only first synonym will be visible for users, have to opt for the most appropriate one (local language maybe?)
 +
***<u>'''Solution 2:'''</u> different children for the same parent. Let's say we have parent "Coca Cola company", then we would have something like  xx: coca-cola company  <br /><xx: coca-cola company  xx: fanta  th: fanta  <br /><xx: coca-cola company  xx: แฟนต้า  th: แฟนต้า  (+) Both should be visible for users  (-) we have two different entries for the "same" brand  (also by changing the website URL th.openfoodfacts -> world.openfoodfacts, we could see different names... Maybe  )
 
** Also synonyms. Product brand has changed over time.
 
** Also synonyms. Product brand has changed over time.
** <u>'''Solution'''</u>: use synonyms in the taxonomy.
+
***<u>'''Solution'''</u>: use synonyms in the taxonomy.
 +
** One brand is owned by two companies.
 +
*** For example, <code>Aldi Nord</code> and <code>Aldi Süd</code> use the name <code>Aldi</code> but they operate in different areas (between countries, and inside Germany itself)
 +
*** <u>'''Solution'''</u>: make <code>Aldi Nord</code> and <code>Aldi Süd</code> children of <code>Aldi</code>. In general, people will input <code>Aldi</code> only. However, if someone put <code>Aldi Nord</code>, it should include its parent, <code>Aldi</code> automatically.
 +
** One brand is distributed/produced locally by another brand
 +
*** For [https://www.diffordsguide.com/beer-wine-spirits/2003/san-miguel-cerveza-uk-brewed example], the licensing of beer brands: the same brand may be exploited under a licensing agreement by different companies depending on the country (and this can change with time). My understanding is that it is because for beer, it is a lot cheaper to produce locally than to transport internationally. In the UK San Miguel would probably be under Carlsberg Marstons, but in Spain it would be under Mahou San Miguel and in the Philippine or Hong Kong under the (original) San Miguel Brewery.
 +
*** For [https://www.asahiinternational.com/stories/people/asahi-europe-international-statement/ example], <code>Asahi</code>, manufactured for the European market by its local subsidiaries (<code>Peroni</code> in Italy, for instance) but used to be licensed to <code>Carlsberg Marstons</code> or <code>AB Inbev</code> depending on the country. Some <code>Asahi</code> brands are still licensed to <code>AB InBev</code> at least for some European markets. It used to be very opaque, but recent events made that obvious.
 +
*** '''<u>Solution:</u>'''
 
* Same name shared by different brands.
 
* Same name shared by different brands.
 
** For [https://world.openfoodfacts.org/brand/san-miguel example], <code>San Miguel</code> is a beer in Spain [cervezas san miguel], food in Mexico [grupo agroindustrial san miguel], honey in Spain/France [Ramros Trading Company])
 
** For [https://world.openfoodfacts.org/brand/san-miguel example], <code>San Miguel</code> is a beer in Spain [cervezas san miguel], food in Mexico [grupo agroindustrial san miguel], honey in Spain/France [Ramros Trading Company])
** For [https://world.openfoodfacts.org/brand/star example], <code>Star</code> is starfinefood in the U.S., Star S.p.A. in Italy, stardrinks in the United Arab Emirates, star from Ghadawat Indian airlines company,  
+
** For [https://world.openfoodfacts.org/brand/star example], <code>Star</code> is starfinefood in the U.S., Star S.p.A. in Italy, stardrinks in the United Arab Emirates, star from Ghadawat Indian airlines company,
 
** For [https://world.openfoodfacts.org/brand/walkers example], <code>Walkers</code> represents 3 different brands ([https://world.openfoodfacts.org/product/5000328123509/choux-de-bruxelle-walkers 1], [https://world.openfoodfacts.org/product/0039047003569/luxury-rich-fruit-cake-walkers 2] and [https://world.openfoodfacts.org/product/5011555031222/chocolate-gingers-walkers 3])
 
** For [https://world.openfoodfacts.org/brand/walkers example], <code>Walkers</code> represents 3 different brands ([https://world.openfoodfacts.org/product/5000328123509/choux-de-bruxelle-walkers 1], [https://world.openfoodfacts.org/product/0039047003569/luxury-rich-fruit-cake-walkers 2] and [https://world.openfoodfacts.org/product/5011555031222/chocolate-gingers-walkers 3])
 
** For [https://world.openfoodfacts.org/brand/dove example], <code>Dove</code> is either cosmetic (from Unilever) or chocolates brand (from Mars)
 
** For [https://world.openfoodfacts.org/brand/dove example], <code>Dove</code> is either cosmetic (from Unilever) or chocolates brand (from Mars)
** <u>'''Solution'''</u>: having country specific brands would help as well as differencing Cervezas San Miguel and San Miguel. In long term we could have some set of rules like if it is San Miguel and category is Beers, then rename Cerezas San Miguel. Same for food vs cosmetic.
+
**<u>'''Solution'''</u>: having country specific brands would help as well as differencing Cervezas San Miguel and San Miguel. In long term we could have some set of rules like if it is San Miguel and category is Beers, then rename Cerezas San Miguel. Same for food vs cosmetic.
* Products without brands written.  
+
** For [https://world.openfoodfacts.org/product/8712566099559/cornetto-enigma-chocolat-coeur-au-caramel-miko example], <code>Cornetto</code> is a sub-brand of both <code>Frigo</code> and <code>Miko</code> (see previous discussion)
 +
** <u>'''Solution'''</u>: make <code>Cornetto</code> child of both brands.
 +
* Products without brands written.
 
* Brand spelling and formatting.  
 
* Brand spelling and formatting.  
 
** Is it <code>Coop</code>, <code>coop</code>, <code>COOP</code>, <code>CO OP</code>?
 
** Is it <code>Coop</code>, <code>coop</code>, <code>COOP</code>, <code>CO OP</code>?
** <u>'''Solution'''</u>: in taxonomy, there are no difference between lower and upper case, there are no difference between space and hyphen. We can make <code>coop</code> a synonym of <code>co op</code>.
+
**<u>'''Solution'''</u>: in taxonomy, there are no difference between lower and upper case, there are no difference between space and hyphen. We can make <code>coop</code> a synonym of <code>co op</code>.
 
** Brands containing an apostrophe or quotes are often missing this one.
 
** Brands containing an apostrophe or quotes are often missing this one.
 
*** For examples for apostrophes, [https://world.openfoodfacts.org/brand/lay-s Lay's] vs <code>Lays</code>, [https://world.openfoodfacts.org/brand/kellogg-s Kellogg's] vs <code>Kelloggs</code>, [https://world.openfoodfacts.org/brand/sar-ocean Sar'Ocean].
 
*** For examples for apostrophes, [https://world.openfoodfacts.org/brand/lay-s Lay's] vs <code>Lays</code>, [https://world.openfoodfacts.org/brand/kellogg-s Kellogg's] vs <code>Kelloggs</code>, [https://world.openfoodfacts.org/brand/sar-ocean Sar'Ocean].
 
*** For example for quotes,<code>The Muffin "Mam" Inc</code>
 
*** For example for quotes,<code>The Muffin "Mam" Inc</code>
*** <u>'''Solution'''</u>: use synonyms in the taxonomy.
+
***<u>'''Solution'''</u>: use synonyms in the taxonomy.
 
** Brands with special characters like &
 
** Brands with special characters like &
 
*** For example for &, <code>M&M's</code>
 
*** For example for &, <code>M&M's</code>
*** <u>'''Solution'''</u>: special characters should be recognized. Eventually, use synonyms in the taxonomy.
+
***<u>'''Solution'''</u>: special characters should be recognized. Eventually, use synonyms in the taxonomy.
 
** Brands with commas
 
** Brands with commas
 
*** For [https://world.openfoodfacts.org/brand/williams-west-witt-s-prods example] for comma<code>Williams, West & Witt's Products</code>
 
*** For [https://world.openfoodfacts.org/brand/williams-west-witt-s-prods example] for comma<code>Williams, West & Witt's Products</code>
*** <u>'''Solution'''</u>: brand should be written without the comma. it is not possible to use commas in the tags (if you write comma it will start a new tag, this example will result in two tags: <code>Williams</code> and <code>West & Witt's Products</code>
+
***<u>'''Solution'''</u>: brand should be written without the comma. it is not possible to use commas in the tags (if you write comma it will start a new tag, this example will result in two tags: <code>Williams</code> and <code>West & Witt's Products</code>
 
** Brand with only numbers
 
** Brand with only numbers
 
*** For examples, <code>1664</code>, <code>1883</code> or <code>365</code>.
 
*** For examples, <code>1664</code>, <code>1883</code> or <code>365</code>.
  −
  −
  −
From slack
  −
  −
- Because some names can differ per country instead of per languages (we can take the example of Miko/wall's ice creams (<nowiki>https://en.wikipedia.org/wiki/Wall%27s_(ice_cream))</nowiki> that are called Frigo in Spain but Bresler in Chile and Bolivia).
  −
  −
- The Coca-Cola Company sells Fanta in Thailand under two different brands (or two different writings of the same brand): one in English (Fanta) and one in Thai (แฟนต้า).
  −
  −
Danone is selling its mineral water in Morroco with both Arabic and French information on the bottle. The brand on the Arabic side is "عين سايس", but it is "aïn Saïss" on the French side.
  −
  −
There are probably thousands of examples with Japanese/English (like 味の素/Ajinomoto) in Japan and Chinese/English (乐虎/Hi-Tiger for instance)  in China.
  −
  −
- For these examples, I see 2 options
  −
  −
1) Synonyms
  −
  −
th: แฟนต้า, fanta
  −
  −
(+) they are at the same level of hierarchy
  −
  −
(-) only first synonym will be visible for users, have to opt for the most appropriate one (local language maybe?)
  −
  −
2) different children for the same parent. Let's say we have parent "Coca Cola company", then we would have something like
  −
  −
xx: coca-cola company<xx: coca-cola company
  −
  −
xx: fanta
  −
  −
th: fanta<xx: coca-cola company
  −
  −
xx: แฟนต้า
  −
  −
th: แฟนต้า(+) Both should be visible for users
  −
  −
(-) we have two different entries for the "same" brandI kind of like option 1)
  −
  −
(also by changing the website URL th.openfoodfacts -> world.openfoodfacts, we could see different names... Maybe  )
  −
  −
I like the first option better too.
  −
  −
It is kind of what we do for now.
  −
  −
It is probably not too awkward for countries like Thailand, China or Japan where there is only one official language.
  −
  −
It might be slightly more awkward when there are several official languages in the country.
  −
  −
When all those languages use the same writing system (like Switzerland or Belgium), the brand is usually the same across the languages so it should be ok.
  −
  −
The really tricky part is the case of countries having several official languages using different writing systems. Morocco is an example (Arabic/French), but things could get really problematic with India (22 official languages using 12 different writing systems).
  −
  −
  −
in the PR from @aleene, there is the ice-cream brand I mentioned here-above (Frigo in Spain):
  −
  −
<span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>According to this logic, '''fr:miko''' would be under '''fr:Unilever France'''. And both would be under '''en:Unilever PLC/N.V.'''<span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>On the other hand, there are some ice-creams that are sold in both countries... (link)<span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>So, this sub-brand in this example "cornetto" should have french and spanish parents.<span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>I think it is possible to have more than a single parents (since ingredients taxonomy is like that).
  −
  −
<span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>
  −
  −
<span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>- That made me realise - in some cases one brand is owned by two companies, at least one example come to mind <span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>- <span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>Aldi. I believe both Aldi Nord and Aldi Süd use the name "Aldi" but they operate in <span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>di<span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>fferent areas, so it's going to be a mess
  −
  −
<nowiki>https://en.wikipedia.org/wiki/Aldi#/med</nowiki><span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>ia<span data-stringify-type="paragraph-break" class="c-mrkdwn__br" aria-label=""></span>/File:Aldi_branches_in_Europe.svg
  −
  −
  −
- Another classical example is the licensing of beer brands: the same brand may be exploited under a licensing agreement by different companies depending on the country (and this can change with time).
  −
  −
My understanding is that it is because for beer, it is a lot cheaper to produce locally than to transport internationally.
  −
  −
See for example: <nowiki>https://www.diffordsguide.com/beer-wine-spirits/2003/san-miguel-cerveza-uk-brewed</nowiki>
  −
  −
In the UK San Miguel would probably be under Carlsberg Marstons, but in Spain it would be under Mahou San Miguel and in the Philippine or Hong Kong under the (original) San Miguel Brewery. (edited)
  −
  −
  −
- Another well known example is Asahi, whose brands are now manufactured for the European market by its local subsidiaries (Peroni in Italy, for instance) but used to be licensed to Carlsberg Marstons or AB Inbev depending on the country. Some Asahi brands are still licensed to AB InBev at least for some European markets. It used to be very opaque, but recent events made that obvious: <nowiki>https://www.asahiinternational.com/stories/people/asahi-europe-international-statement/</nowiki> (edited)
       
75

edits

Navigation menu