Folksonomy Engine

From Open Food Facts wiki
Jump to navigation Jump to search

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


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.


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.


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