Cooking is the act of turning nature into the culture which has enabled the advent of the omnivorous human diet. The cultural wisdom of processing a variety of raw ingredients into delicious dishes is embodied in their cuisines. Recipes thus are the cultural capsules that encode elaborate cooking protocols for evoking sensory satiation. As we stand on the verge of an epidemic of diet-linked disorders (such as obesity, type II diabetes and cardiac diseases), it is eminently important to investigate the culinary correlates of diet to probe their association with sensory responses as well as consequences for nutrition and health.
RecipeDB is a structured compilation of recipes, ingredients, nutrition profiles interlinked with flavor profiles, and health associations. The repertoire comprises of meticulous integration of over 1,18,000 recipes from cuisines across the globe (6 continents, 26 geo-cultural regions, and 74 countries), cooked using 268 processes (heat, cook, boil, simmer, bake, etc.), by blending over 8700 ingredients from diverse categories, which are further linked to their flavor molecules (FlavorDB), nutritional profiles (USDA) and empirical records of disease associations obtained from Medline (DietRx). This resource is aimed at facilitating scientific explorations of the culinary space (recipe, ingredient, cooking processes, dietary styles, etc.) to taste attributes (flavor profile) and health (nutrition and disease associations) seeking for divergent applications.
Acknowledgement: The team thanks TagTog for their support. We used the tagtog platform in order to tag the Named Entities for the project without which the nutrition estimation would not have been possible.
RecipeDB facilitates an elastic search to query recipes based on cuisine (geographical location of origin), ingredients used/not used, dietary classifications (vegan, vegetarian, vegetarian but not vegan, etc.) and nutritional profile (amount of energy, carbohydrates, etc.). Each search option allows the user to use any combination of the search parameters in their queries. All search boxes come with an autocomplete option to assist the user with any query containing a string with two or more characters typed, greatly enabling the user’s ability to explore the database. In case the user is not looking for anything specific, they can hit the ‘Submit’ button without providing any specific query. This will yield a result showing a list of all the recipes in RecipeDB. In case the user would like to filter the database using a more nuanced list of constraints, clicking on the ‘Advanced’ button will reveal a host of more parameters to query from.
RecipeDB is a resource with extensive coverage of over 100,000 recipes and approximately 2000 ingredients across over 22 world regions. It offers a user-friendly interface for querying and browsing through recipes. Data visualizations and interlinked search options are provided to retrieve relevant information. It intends to enable data-driven explorations of recipes. It facilitates multi-level analysis of traditional recipes (recipes, categorical classifications, ingredient composition).
‘Ingredient’ search facilitates querying and browsing RecipeDB based on the following features: ingredient used, and ingredient not used.
‘Category’ search facilitates querying and browsing RecipeDB based on the following features: dietary style included, and dietary style not included.
‘Nutrition’ search facilitates querying and browsing RecipeDB based on the following features: calories of energy, grams of carbohydrates, grams of protein, and grams of fat.
In response to the query provided, a list of all the recipes that satisfy that query will be shown. The ‘Results’ page displays the query used at the top of the page. In case multiple fileds are used for creating a query, the results will show recipes that satisfy all the conditions. The list displays the following information for each recipe: ‘Recipe Title’, ‘Region’, ‘Country’, ‘Servings’, ‘Calories’, ‘Protein’, ‘Fat’, and a ‘More Info’ button. Clicking on this button will open the recipe information panel for the corresponding recipe. Additionally, clicking on the ‘Recipe Title’ will lead you to the ‘Recipe Page’ and clicking on the ‘Region’ or ‘Country’ will show a search result of all recipes belonging to that area. Additionally, the ‘Results’ page provides a search box at the top right corner to easily sort through the results.
This panel provides the ‘Estimated Nutritional Profile’ and ‘Recipe Elements’ of the recipe. This includes attributes of the recipe such as calories, carbohydrates, protein, and fat content as well as information on the constituent ingredients of the recipe such as ingredient name, quantity, etc. Further, this panel also provides the ‘Recipe Title’ and a 'Complete Profile’ button. When the user clicks on either of these, they are redirected to the ‘Recipe Page’ and when the user clicks on an ingredient name, they are redirected to the Ingredient Page’.
This page contains the following sections: ‘Estimated Nutritional Profile’, ‘Recipe Overview’, ‘Ingredients’, ‘Cooking Processes and Utensils’, and ‘Instructions’. Additionally, the page also provides a ‘Show More’ button, an image of the recipe, and the recipe’s name. ‘Estimated Nutritional Profile’ contains our calculated estimates of nutrition information such as the number of calories, carbohydrates and protein. When the user clicks on the ‘show more’ button, this section expands to reveal more nutrition information. ‘Recipe Overview’ contains information about the recipe’s cuisine, dietary style, and preparation time as well as a link to RecipeDB’s source for the recipe.
Visual search represents a graph of the relationship between ingredients and ingredient categories. The categories are represented by a column of rectangles in the middle of the graph while the ingredients are listed along the circumference of semi-circles on either side of the categories. To observe the pattern of relation for any entity in the graph, the user can hover over it. As our database of ingredients is incredibly dense, this network would not be meaningfully usable if it were to include all the ingredients. To address this issue, only the 6 most frequently used ingredients from each category were chosen to be included in the network.
Advanced Search is provided to enable users who would like to probe RecipeDB by viewing the data through refined parameters. The modality of Advanced Search is like that of Recipe Search which allows filtering RecipeDB data by conjunction of parameters. Advanced search combines parameters from all the searches under Recipe Search (i.e. cuisine, ingredient, and nutrition search) to facilitate extremely tailored queries.
‘RecipeDB Statistics’ are provided on the landing page of RecipeDB.
The ‘Recipes’ tab provides a geographical plot of the number of recipes that belong to each of the cuisines in the database. Each area on the map is color-coded in accordance to the cuisine that influences it. On hovering over a Country, an information box will appear next to it containing its name, the cuisine that influences it, and the number of recipes in that cuisine.
The ‘Ingredient’ tab provides a pie chart which shows the percentage of ingredients from the database that exist in each ingredient category. Hovering over the chart pops up the name of the ingredient category as well as the percentage of ingredients in it.
The ‘Nutrition’ tab provides a geographical plot of the average number of calories of each of the cuisines in the database. Each area on the map is color-coded in accordance to the cuisine that influences it. On hovering over a Country, an information box will appear next to it containing its name, the cuisine that influences it, and the average number of calories of that cuisine.
The ‘Categories’ tab provides a heat map of the cuisine’s ingredients broken down into different categories by percentage. On hovering over a block, an information box will appear next to it containing the category name, the cuisine and the percentage of ingredients of the cuisine belonging to that category.
The ‘Process’ tab provides a pie chat which shows the percentage of recipes from the database across which a process uniquely exists. Hovering over the chart pops up the name of the process as well as the percentage of times it uniquely occurs across all the recipes.
The ‘Utensils’ tab provides a pie chat which shows the number of times a utensil is used across all recipes in the database as well as the percentage of times this utensil is used out of all the utensils. Hovering over the chart pops up these statistics as well as the name of the utensil.