Difference between revisions of "Folksonomy Engine"

From Open Food Facts wiki
Jump to navigation Jump to search
(edits about current progress)
(Link to main repo)
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[Category:Folksonomy Engine]]
 +
[[Category:Roadmap]]
 
The goal of '''Folksonomy engine''' is to unleash an ocean of new usages regarding food knowledge. Folksonomy engine allows all kind of people — citizens, researchers, journalists, professionals, artists, communities, innovators... — to enrich and use Open Food Facts, thanks to '''free tags and properties''' for your own use or to enrich the shared knowledge. Open Food Facts, as the biggest open-food database in the world, already feeds hundreds of data reuses. It will allow thousands of new apps and new usages.
 
The goal of '''Folksonomy engine''' is to unleash an ocean of new usages regarding food knowledge. Folksonomy engine allows all kind of people — citizens, researchers, journalists, professionals, artists, communities, innovators... — to enrich and use Open Food Facts, thanks to '''free tags and properties''' for your own use or to enrich the shared knowledge. Open Food Facts, as the biggest open-food database in the world, already feeds hundreds of data reuses. It will allow thousands of new apps and new usages.
  
Line 8: Line 10:
 
Other directories/documents (if any)
 
Other directories/documents (if any)
 
* [https://drive.google.com/drive/u/0/folders/1U7OkC6ZTg3kk_3w5mPGnb1cl5mStFqBQ Main directory for documentation]
 
* [https://drive.google.com/drive/u/0/folders/1U7OkC6ZTg3kk_3w5mPGnb1cl5mStFqBQ Main directory for documentation]
 +
Code and bug tracking on Github:
 +
 +
* [https://github.com/openfoodfacts/folksonomy_engine Folksonomy Engine repo]: this repository centralise issues and discussions dedicated to the whole project
 +
 +
* [https://github.com/openfoodfacts/folksonomy_api Folksonomy Engine API]
 +
* [https://github.com/openfoodfacts/folksonomy_frontend Folksonomy Engine frontend]
  
 
Slack channel: [https://app.slack.com/client/T02KVRT1Q/C01M1T2E8L8/thread/C0116U37JCE-1611738330.008000 #folksonomy_engine]
 
Slack channel: [https://app.slack.com/client/T02KVRT1Q/C01M1T2E8L8/thread/C0116U37JCE-1611738330.008000 #folksonomy_engine]
Line 24: Line 32:
  
 
== Use cases ==  
 
== Use cases ==  
​ 1.​ Health and food safety
+
# ​ Health and food safety
2.​ Cooking and preparation
+
# ​ Cooking and preparation
  3​. Grocery Apps
+
# Grocery Apps
  4​. Product qualities
+
# Product qualities
  5​. (Bad) Food Marketing
+
# (Bad) Food Marketing
​  5.1.​ List properties of products targeting particular people
+
## ​List properties of products targeting particular people
  5.2.​ List properties of products related to consumers behavior
+
## ​List properties of products related to consumers behavior
 +
 
 +
See, [[Folksonomy Engine/Uses cases|some use cases]] we are starting to investigate.
  
 
== How ==
 
== How ==
Needed deliverables.
+
 
 +
As of today, Open Food Facts is made of a set of predefined properties (about 20 types of properties such as the product name, the product weight, the ingredients, the nutrients, etc.).
 +
Folksonomy engine will add several kinds of new individual data properties to Open Food Facts or Open Products Facts. In fact the scope of such new data properties is nearly endless, so we intend to get feedback from the community to define which one we should implement and how the user interface should look like.
 +
 
 +
=== Social tagging ===
 +
 
 +
Social tagging can be introduced in different ways. Simpler forms as Hashtags or Text Tags or more complex ones as individual attributes in units.
 +
 
 +
==== Text Tags ====
 +
 
 +
There are many ways to implement social tagging inside of text, as simple plain keywords or more sophisticated forms with colors or different types of tags. The list of tags can be completely free for the user, predefined by admins or curated by admins.
 +
 
 +
==== Individual properties and attributes ====
 +
 
 +
Properties, or material facts, allowing to specify a value or multiple values for the corresponding product. Eg. it allows adding free properties with values.
 +
 
 +
Example: This product height is 35 cm, which ends up in a tag like [height = 35cm].
 +
 
 +
Sometimes a property can have multiple values:
 +
 
 +
Example:  This product has to be recalled if produced on 2020-03-31, 2020-04-01, 2020-04-02.
 +
[Recall: if produced from 2020-03-31 - 2020-04-02]
  
 
{| class="wikitable"  
 
{| class="wikitable"  
Line 49: Line 80:
 
|-
 
|-
 
| D2. Functional and technical specifications (''architecture design'') (report in wiki page)
 
| D2. Functional and technical specifications (''architecture design'') (report in wiki page)
| Feb.
+
 
| XX
+
* [[Folksonomy Engine/Functional use cases and specifications|Functional use cases and specifications]].
 +
* [[Folksonomy Engine/Technical specifications|Technical specifications]].
 +
| September
 +
| Charles
 
Stéphane (Review)
 
Stéphane (Review)
 
|  
 
|  
Line 58: Line 92:
 
* CRUD interfaces in the backend (Product Opener)
 
* CRUD interfaces in the backend (Product Opener)
 
* web interfaces (in production)
 
* web interfaces (in production)
| March-April
+
| September
| Stéphane (dev)
+
| Christian (dev)
XX (tests)
+
Charles (tests)
 
|  
 
|  
 
|-
 
|-

Revision as of 07:37, 15 September 2021

The goal of Folksonomy engine is to unleash an ocean of new usages regarding food knowledge. Folksonomy engine allows all kind of people — citizens, researchers, journalists, professionals, artists, communities, innovators... — to enrich and use Open Food Facts, thanks to free tags and properties for your own use or to enrich the shared knowledge. Open Food Facts, as the biggest open-food database in the world, already feeds hundreds of data reuses. It will allow thousands of new apps and new usages.

Documentation and communication

Other directories/documents (if any)

Code and bug tracking on Github:

Slack channel: #folksonomy_engine

Who

Skills needed (in short)

  • Project management
  • Dev

Project team:

  • Project manager: Lucas
  • Project owner: Charles
  • End-user tester: ?
  • Dev: Stéphane
  • Others?

Use cases

  1. ​ Health and food safety
  2. ​ Cooking and preparation
  3. Grocery Apps
  4. Product qualities
  5. (Bad) Food Marketing
    1. ​List properties of products targeting particular people
    2. ​List properties of products related to consumers behavior

See, some use cases we are starting to investigate.

How

As of today, Open Food Facts is made of a set of predefined properties (about 20 types of properties such as the product name, the product weight, the ingredients, the nutrients, etc.). Folksonomy engine will add several kinds of new individual data properties to Open Food Facts or Open Products Facts. In fact the scope of such new data properties is nearly endless, so we intend to get feedback from the community to define which one we should implement and how the user interface should look like.

Social tagging

Social tagging can be introduced in different ways. Simpler forms as Hashtags or Text Tags or more complex ones as individual attributes in units.

Text Tags

There are many ways to implement social tagging inside of text, as simple plain keywords or more sophisticated forms with colors or different types of tags. The list of tags can be completely free for the user, predefined by admins or curated by admins.

Individual properties and attributes

Properties, or material facts, allowing to specify a value or multiple values for the corresponding product. Eg. it allows adding free properties with values.

Example: This product height is 35 cm, which ends up in a tag like [height = 35cm].

Sometimes a property can have multiple values:

Example: This product has to be recalled if produced on 2020-03-31, 2020-04-01, 2020-04-02. [Recall: if produced from 2020-03-31 - 2020-04-02]

Deliverable Date Who Comments
D1. Ideation document: uses cases (report in wiki page)
  • define first use cases (see D6)
Feb. XX
D2. Functional and technical specifications (architecture design) (report in wiki page) September Charles

Stéphane (Review)

D3. Server-side implementation (database and web UI): properties’ database implementation and CRUD interfaces with a minimal UI to validate the design:
  • database implementation (new database or new fields)
  • CRUD interfaces in the backend (Product Opener)
  • web interfaces (in production)
September Christian (dev)

Charles (tests)

D4. Search and discovery integration and APIs.
Making properties accessible using simple search and a discovery engine; integration with the advanced search; API access
  • all dev in the backend
April-May Stéphane (dev)

XX (tests)

D5. Mobile UI integration on the Open Food Facts apps June XX
D6. Three uses cases:
  1. move ambiguous “Nutriscore Experiment” labels in tags
  2. XXXX (to be found)
  3. XXXX (to be found)
Sep. XX

Wishful deliverables

Here we put wishful deliverables if any.

  • Tool to monitor tag usages.
  • Workshop for contributors.

Questions/ideas

  • What about a deliverable dedicated to communication?
  • Use case in collaboration with scientists?