Difference between revisions of "Folksonomy Engine/Uses cases"

From Open Food Facts wiki
Jump to navigation Jump to search
(Added Nutri-Score experiment use case and properties.)
(Recalled products: link to issues)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
What do [[Folksonomy Engine]] makes possible? We list here some use cases. These ones are a good way to test how Folksonomy Engine can work.
 
What do [[Folksonomy Engine]] makes possible? We list here some use cases. These ones are a good way to test how Folksonomy Engine can work.
  
For the key (property) names, we use the same convention as OpenStreetMap: minus letters with underscores for spaces. Eg. <code>seen_on_tv</code>
+
For the property names, we use the same convention as OpenStreetMap: minus letters with underscores for spaces. Eg. <code>seen_on_tv</code>
  
 
== Seen on TV (advertising) ==
 
== Seen on TV (advertising) ==
 
What kind of products are most seen on TV? Can we compare these products with the rest of their category? Is it possible to collect those products without barcode?
 
What kind of products are most seen on TV? Can we compare these products with the rest of their category? Is it possible to collect those products without barcode?
  
Proposed keys (properties):
+
Proposed properties:
  
 
{| class="wikitable"  
 
{| class="wikitable"  
 
|- style="background-color:#c0c0c0;"
 
|- style="background-color:#c0c0c0;"
! Key (property)
+
! Property
 
! Values
 
! Values
 
! Description
 
! Description
Line 16: Line 16:
 
! Comments
 
! Comments
 
|-
 
|-
| <code>seen_on_tv</code>
+
| {{Property|seen_on_tv}}
 
| <code>yes</code> or <code>no</code>
 
| <code>yes</code> or <code>no</code>
 
| Is this product have been seen on TV? No value doesn't mean it can't be yes or no, it's just unknown.
 
| Is this product have been seen on TV? No value doesn't mean it can't be yes or no, it's just unknown.
Line 22: Line 22:
 
|
 
|
 
|-
 
|-
| <code>seen_on_tv:date</code>
+
| {{Property|seen_on_tv:date}}
 
| Examples:
 
| Examples:
 
* <code>2020</code>
 
* <code>2020</code>
Line 31: Line 31:
 
| Entered manually or by a date picker
 
| Entered manually or by a date picker
 
|-
 
|-
| <code>seen_on_tv:tv_channels</code>
+
| {{Property|seen_on_tv:tv_channels}}
 
| Examples:
 
| Examples:
 
* <code>France: M6</code>
 
* <code>France: M6</code>
Line 44: Line 44:
 
{| class="wikitable"  
 
{| class="wikitable"  
 
|- style="background-color:#c0c0c0;"
 
|- style="background-color:#c0c0c0;"
! Key (property)
+
! Property
 
! Values
 
! Values
 
! Description
 
! Description
Line 50: Line 50:
 
! Comments
 
! Comments
 
|-
 
|-
|<code>packaging:has_character</code>
+
|{{Property|packaging:has_character}}
 
|<code>yes</code> or <code>no</code>
 
|<code>yes</code> or <code>no</code>
 
| Is there a film- or cartoon character on this product? <code>No</code> can be interesting to share. Lack of value doesn't mean it can't be yes or no, it's just unknown.
 
| Is there a film- or cartoon character on this product? <code>No</code> can be interesting to share. Lack of value doesn't mean it can't be yes or no, it's just unknown.
Line 56: Line 56:
 
|
 
|
 
|-
 
|-
|<code>packaging:character:date</code>
+
|{{Property|packaging:character:date}}
 
| Examples:
 
| Examples:
 
*<code>2020</code>
 
*<code>2020</code>
Line 65: Line 65:
 
| Entered manually or by a date picker
 
| Entered manually or by a date picker
 
|-
 
|-
|<code>packaging:character</code>
+
|{{Property|packaging:character}}
 
| Examples:
 
| Examples:
 
*<code>Hulk</code>
 
*<code>Hulk</code>
Line 73: Line 73:
 
|  
 
|  
 
|-
 
|-
|<code>packaging:character:wikidata</code>
+
|{{Property|packaging:character:wikidata}}
 
|Example: <code>Q51785</code> (Star Wars' Stormtrooper)
 
|Example: <code>Q51785</code> (Star Wars' Stormtrooper)
 
|The wikidata reference, to disambiguate the character.
 
|The wikidata reference, to disambiguate the character.
Line 81: Line 81:
  
 
== Recalled products ==
 
== Recalled products ==
Listing products recalls can be an interesting service.
+
Some products need to be recalled for various reasons:
  
Proposed keys (properties):
+
* an important information is lacking on the packaging: e.g., the existence of an allergen, the product is not suited for children, etc.
 +
* the product is not good for consumption: bacteria, wrong recipe, etc.
 +
* the product does respect local laws
 +
* etc.
 +
 
 +
Producers and authorities are providing this kind of information. Listing products recalls can be an interesting service to provide:
 +
 
 +
* people might want to verify each product they consume
 +
* sometimes people have a vital reason to control each product (severe allergies, etc.)
 +
* people have heard that some lots of their favorite product has been recalled and they just want to check they don't owned one of them
 +
* etc.
 +
 
 +
Proposed properties:
  
 
{| class="wikitable"  
 
{| class="wikitable"  
 
|- style="background-color:#c0c0c0;"
 
|- style="background-color:#c0c0c0;"
! Key (property)
+
! Property
 
! Values
 
! Values
 
! Description
 
! Description
Line 93: Line 105:
 
! Comments
 
! Comments
 
|-
 
|-
| <code>recalled_product</code>
+
|{{Property|recalled_product}}
| <code>yes</code>, <code>no</code>
+
|<code>yes</code>, <code>no</code>
 
| The product has been recalled or not. No value doesn't mean it can't be yes or no, it's just unknown.
 
| The product has been recalled or not. No value doesn't mean it can't be yes or no, it's just unknown.
 
| closed list (yes or no)
 
| closed list (yes or no)
 
|
 
|
 
|-
 
|-
| <code>recalled_product:date</code>
+
|{{Property|recalled_product:date}}
 
| Examples:
 
| Examples:
* <code>2020</code>
+
*<code>2020</code>
* <code>2020-01</code>
+
*<code>2020-01</code>
* <code>2020-01/2020-06</code> for an interval
+
*<code>2020-01/2020-06</code> for an interval
 
| The date when it has been recalled.
 
| The date when it has been recalled.
| [https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 format]
+
|[https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 format]
 
| Entered manually or by a date picker
 
| Entered manually or by a date picker
 
|-
 
|-
| <code>recalled_product:comments</code>
+
|{{Property|recalled_product:comments}}
 
|  
 
|  
 
| Any more information can be put here. Eg. the serial numbers of the product.
 
| Any more information can be put here. Eg. the serial numbers of the product.
Line 114: Line 126:
 
|  
 
|  
 
|-
 
|-
| <code>recalled_product:link</code>
+
|{{Property|recalled_product:link}}
 
| Examples:
 
| Examples:
* <code>https://www.fda.gov/food/alerts-advisories-safety-information/fda-advises-consumers-avoid-green-gorilla-root-juice-due-potentially-harmful-undeclared-ingredient</code>
+
*<code>https://www.fda.gov/food/alerts-advisories-safety-information/fda-advises-consumers-avoid-green-gorilla-root-juice-due-potentially-harmful-undeclared-ingredient</code>
* <code>https://rappel.conso.gouv.fr/fiche-rappel/383/Interne</code>
+
*<code>https://rappel.conso.gouv.fr/fiche-rappel/383/Interne</code>
 
| A link to the official source of the recall.
 
| A link to the official source of the recall.
 
| link
 
| link
Line 128: Line 140:
 
* USA:
 
* USA:
 
** FDA RSS: https://www.accessdata.fda.gov/scripts/ires/rss/products/rss_food.xml
 
** FDA RSS: https://www.accessdata.fda.gov/scripts/ires/rss/products/rss_food.xml
 +
See also issues related to product recalls on Open Food Facts server: https://github.com/openfoodfacts/openfoodfacts-server/labels/Products%20Recalls
 +
 
== Annotation ==
 
== Annotation ==
Providing further information about products for other contributors, and even for users in some cases. Here are some proposed keys:
+
Providing further information about products for other contributors, and even for users in some cases. Here are some proposed properties:
 
{| class="wikitable"  
 
{| class="wikitable"  
 
|- style="background-color:#c0c0c0;"
 
|- style="background-color:#c0c0c0;"
! Key (property)
+
! Property
 
! Values
 
! Values
 
! Description
 
! Description
Line 138: Line 152:
 
! Comments
 
! Comments
 
|-
 
|-
|<code>fixme</code>
+
|{{Property|fixme}}
 
|<code>yes</code> or <code>no</code>
 
|<code>yes</code> or <code>no</code>
 
| Does this product's data has to be fixed?
 
| Does this product's data has to be fixed?
Line 144: Line 158:
 
|See [https://wiki.openstreetmap.org/wiki/Key%3Afixme fixme] tag in OpenStreetMap database.
 
|See [https://wiki.openstreetmap.org/wiki/Key%3Afixme fixme] tag in OpenStreetMap database.
 
|-
 
|-
|<code>producer_data_issue</code>
+
|{{Property|fixme:description}}
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|{{Property|producer_data_issue}}
 
|Any string or sentence. Examples:
 
|Any string or sentence. Examples:
  
Line 153: Line 173:
 
|
 
|
 
|-
 
|-
|<code>multiple</code>
+
|{{Property|multiple}}
 
|Examples:
 
|Examples:
  
Line 164: Line 184:
 
|
 
|
 
|-
 
|-
|<code>wikipedia</code>
+
|{{Property|data_quality:robotoff_issue}}
 +
|<code>yes</code> or <code>no</code>
 +
|Did robotoff make a wrong prediction?
 +
|
 +
|
 +
|-
 +
|{{Property|data_quality:robotoff_issue:product_version}}
 +
|The product version (a number). Eg.
 +
<code>57</code>
 +
|
 +
|
 +
|
 +
|}
 +
 
 +
== Reformulated product ==
 +
It's interesting to know which products' formula and ingredients has evolved by the time.
 +
{| class="wikitable"
 +
!Property
 +
!Values
 +
!Description
 +
!Type
 +
!Comments
 +
|-
 +
|{{Property|reformulated}}
 +
| <code>yes</code> or <code>no</code>
 +
| Did the product's formula and ingredients evolved over the time.
 +
|
 +
|
 +
|-
 +
|{{Property|reformulated:description}}
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|{{Property|reformulated:date}}
 +
|Examples:
 +
*<code>2020</code>
 +
*<code>2020-01</code>
 +
*<code>2020-01/2020-06</code> for an interval
 +
|The date when it has been recalled.
 +
|[https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 format]
 +
|Entered manually or by a date picker
 +
|}
 +
 
 +
== Links to other references ==
 +
Linking Open Food Facts data to other references can help to create new usages and new knowledge.
 +
{| class="wikitable"
 +
!Property
 +
!Values
 +
!Description
 +
!Type
 +
!Comments
 +
|-
 +
|{{Property|wikipedia}}
 
| Examples:
 
| Examples:
* <code><nowiki>https://en.wikipedia.org/wiki/Nutella</nowiki></code>
+
*<code><nowiki>https://en.wikipedia.org/wiki/Nutella</nowiki></code>
 
| The specific wikipedia URL corresponding to this product. Users can add the two letter language to precise a page in a specific language.
 
| The specific wikipedia URL corresponding to this product. Users can add the two letter language to precise a page in a specific language.
 
| URL
 
| URL
 
| Should be controlled.
 
| Should be controlled.
 
|-
 
|-
|<code>wikidata</code>
+
|{{Property|wikidata}}
 
|Example: <code>Q212193</code> (for Nutella)
 
|Example: <code>Q212193</code> (for Nutella)
 
|The wikidata reference, to allow links with other data.
 
|The wikidata reference, to allow links with other data.
Line 187: Line 261:
 
{| class="wikitable"  
 
{| class="wikitable"  
 
|- style="background-color:#c0c0c0;"
 
|- style="background-color:#c0c0c0;"
! Key (property)
+
! Property
 
! Values
 
! Values
 
! Description
 
! Description
Line 193: Line 267:
 
! Comments
 
! Comments
 
|-
 
|-
|<code>nutriscore_experiment</code>
+
|{{Property|nutriscore_experiment}}
 
|<code>yes</code>
 
|<code>yes</code>
 
| Was this product part of the experiment?
 
| Was this product part of the experiment?
Line 199: Line 273:
 
|There's no need to use <code>no</code> as it's the default case.
 
|There's no need to use <code>no</code> as it's the default case.
 
|-
 
|-
|<code>nutriscore_experiment:grade</code>
+
|{{Property|nutriscore_experiment:grade}}
 
|<code>A</code>, <code>B</code>, <code>C</code>, <code>D</code> or <code>E</code>. Example:
 
|<code>A</code>, <code>B</code>, <code>C</code>, <code>D</code> or <code>E</code>. Example:
  
Line 207: Line 281:
 
|
 
|
 
|}
 
|}
 +
 +
== Potentially dangerous products ==
 +
This case is interesting but complicated. We first have to investigate what are [[potentially dangerous products]].
 +
[[Category:Folksonomy Engine]]

Latest revision as of 17:00, 7 July 2022

What do Folksonomy Engine makes possible? We list here some use cases. These ones are a good way to test how Folksonomy Engine can work.

For the property names, we use the same convention as OpenStreetMap: minus letters with underscores for spaces. Eg. seen_on_tv

Seen on TV (advertising)

What kind of products are most seen on TV? Can we compare these products with the rest of their category? Is it possible to collect those products without barcode?

Proposed properties:

Property Values Description Type Comments
seen_on_tv yes or no Is this product have been seen on TV? No value doesn't mean it can't be yes or no, it's just unknown. closed list (yes or no)
seen_on_tv:date Examples:
  • 2020
  • 2020-01
  • 2020-01/2020-06 for an interval
The date when it has been seen on TV. An interval is a better information, but a fixed date is a good first step. ISO 8601 format Entered manually or by a date picker
seen_on_tv:tv_channels Examples:
  • France: M6
  • UK: BBC1
On what channel? open list TODO: see if we can reuse wikidata TV channels

Products with film- or cartoon characters

These data can represent some interest. The characters can infer the target of the product. It can be interesting to understand if certain types of products are targeting special public, kids for example.

Property Values Description Type Comments
packaging:has_character yes or no Is there a film- or cartoon character on this product? No can be interesting to share. Lack of value doesn't mean it can't be yes or no, it's just unknown. closed list (yes or no)
packaging:character:date Examples:
  • 2020
  • 2020-01
  • 2020-01/2020-06 for an interval
The date when it has been seen on the packaging. An interval is a better information, but a fixed date is a good first step. ISO 8601 format Entered manually or by a date picker
packaging:character Examples:
  • Hulk
  • Star Wars' stormtrooper
The common name of the character. open list
packaging:character:wikidata Example: Q51785 (Star Wars' Stormtrooper) The wikidata reference, to disambiguate the character. wikidata

Recalled products

Some products need to be recalled for various reasons:

  • an important information is lacking on the packaging: e.g., the existence of an allergen, the product is not suited for children, etc.
  • the product is not good for consumption: bacteria, wrong recipe, etc.
  • the product does respect local laws
  • etc.

Producers and authorities are providing this kind of information. Listing products recalls can be an interesting service to provide:

  • people might want to verify each product they consume
  • sometimes people have a vital reason to control each product (severe allergies, etc.)
  • people have heard that some lots of their favorite product has been recalled and they just want to check they don't owned one of them
  • etc.

Proposed properties:

Property Values Description Type Comments
recalled_product yes, no The product has been recalled or not. No value doesn't mean it can't be yes or no, it's just unknown. closed list (yes or no)
recalled_product:date Examples:
  • 2020
  • 2020-01
  • 2020-01/2020-06 for an interval
The date when it has been recalled. ISO 8601 format Entered manually or by a date picker
recalled_product:comments Any more information can be put here. Eg. the serial numbers of the product. Free text
recalled_product:link Examples: A link to the official source of the recall. link Possibility of many links?

Some official websites dealing with product recalls:

See also issues related to product recalls on Open Food Facts server: https://github.com/openfoodfacts/openfoodfacts-server/labels/Products%20Recalls

Annotation

Providing further information about products for other contributors, and even for users in some cases. Here are some proposed properties:

Property Values Description Type Comments
fixme yes or no Does this product's data has to be fixed? closed list (yes or no) See fixme tag in OpenStreetMap database.
fixme:description
producer_data_issue Any string or sentence. Examples:
  • "fat typo"
  • "salt missing"
Some data printed by the producer on the product are wrong, without any doubt.
multiple Examples:
  • yes
  • 2
  • 3
  • many
When a barcode is used for different products. open list
data_quality:robotoff_issue yes or no Did robotoff make a wrong prediction?
data_quality:robotoff_issue:product_version The product version (a number). Eg.

57

Reformulated product

It's interesting to know which products' formula and ingredients has evolved by the time.

Property Values Description Type Comments
reformulated yes or no Did the product's formula and ingredients evolved over the time.
reformulated:description
reformulated:date Examples:
  • 2020
  • 2020-01
  • 2020-01/2020-06 for an interval
The date when it has been recalled. ISO 8601 format Entered manually or by a date picker

Links to other references

Linking Open Food Facts data to other references can help to create new usages and new knowledge.

Property Values Description Type Comments
wikipedia Examples:
  • https://en.wikipedia.org/wiki/Nutella
The specific wikipedia URL corresponding to this product. Users can add the two letter language to precise a page in a specific language. URL Should be controlled.
wikidata Example: Q212193 (for Nutella) The wikidata reference, to allow links with other data. wikidata

Nutri-Score experiment

In 2015, Open Food Facts was used to experiment early versions of the Nutri-Score. To help the experimentation, some products have been labelled "Nutriscore Experiment". These label were not printed on the product, it was only a convenient way to group these products. Now the experiment is finished, there's no need to use this label anymore. In fact, it is now counterproductive to stay as a label:

  • it is confusing with the current Nutri-Score label
  • it is proposed automatically by the "suggest as you type" feature when a user wants to add "Nutri-Score" as a label, augmenting the confusion.

All the Nutri-Score Experiment label will be at a better place in Folksonomy Engine.

Property Values Description Type Comments
nutriscore_experiment yes Was this product part of the experiment? unique value There's no need to use no as it's the default case.
nutriscore_experiment:grade A, B, C, D or E. Example:

C

The Nutri-Score grade of the product at the time of the experiment. closed list

Potentially dangerous products

This case is interesting but complicated. We first have to investigate what are potentially dangerous products.