Food ontology

A simple vocabulary for describing recipes, ingredients, menus and diets.

Introduction

The Food ontology is a simple lightweight ontology for publishing data about recipes, including the foods they are made from and the foods they create as well as the diets, menus, seasons, courses and occasions they may be suitable for. Whilst it originates in a specific BBC use case, the Food Ontology should be applicable to a wide range of recipe data publishing across the web.

The Food Ontology sits alongside existing work such as Google's Rich Snippets for Recipes. While Google, and schema.org, provide a way to represent literal strings in a structured way the Food Ontology provides a richly linked model that more completely describes the recipe and its context. Food Ontology, Google Rich Snippets and Schema.org microdata for recipes are all able to co-exist peacefully within the same site.

A nodes-and-edges diagram representing classes & properties in the Food ontology
Class and property interconnections in the Food ontology
# Some example triples about a pork belly menu, in Turtle format <http://www.bbc.co.uk/food/menus/pork_belly_comfort_food_menu#menu> a fo:Menu ; dcterms:description "We've put together a menu of easy, comforting recipes for a chilly winter's day."@en ; dcterms:title "Pork belly comfort food menu"@en ; fo:dessert <http://www.bbc.co.uk/food/recipes/banoffeepiewithpecan_86926#recipe> fo:ingredients <http://www.bbc.co.uk/food/menus/pork_belly_comfort_food_menu#ingredients> ; fo:main_course <http://www.bbc.co.uk/food/recipes/roastbellyofporkwith_73882#recipe> ; fo:serves "6"@en ; fo:side_dish <http://www.bbc.co.uk/food/recipes/champ_67444#recipe> , <http://www.bbc.co.uk/food/recipes/devilishredcabbage_8076#recipe> .

Metadata

Created2014-03-18
Last modified2014-04-10
Version1.2
Licencehttp://creativecommons.org/licenses/by/4.0/
DownloadFood ontology(Turtle format)

 

Classes

 

Collection

URIhttp://purl.org/ontology/fo/Collection
DescriptionA Collection is a group of recipes that are brought together because they have something in common. Some collections may result from automated queries such as all recipes that share a particular ingredient, other collections may be the result of editorial selection.
SubclassesMenu

 

Course

URIhttp://purl.org/ontology/fo/Course
DescriptionA Course is the sequence of a dish within a meal. For example a basic dinner party may consists of Starter, Main and Dessert courses.
Range forserve_as

 

Cuisine

URIhttp://purl.org/ontology/fo/Cuisine
DescriptionA Cuisine is a particular style of food, often based on a region. These classifications are often highly subjective.
Range forcuisine

 

Diet

URIhttp://purl.org/ontology/fo/Diet
DescriptionA Diet is a way of selecting food that achieves a particular effect, such as eating in way that is pregnancy-friendly or avoiding foods that contain shellfish.
Range fordiet

 

Food

URIhttp://purl.org/ontology/fo/Food
DescriptionA Food is something that can be eaten. It may be a basic food such as salt or it may be the more complex result of another recipe, for example chicken stock. A recipe uses foods as part of ingredients and also produces foods to be eaten.
Domain forat_its_best, shopping_category
Range forfood, produces

 

Ingredient

URIhttp://purl.org/ontology/fo/Ingredient
DescriptionAn Ingredient is the combination of a quantity and a food, giving the amount of something that should be used in the recipe.
Domain forfood, imperial_quantity, metric_quantity, quantity

 

IngredientList

URIhttp://purl.org/ontology/fo/IngredientList
DescriptionAn IngredientList is a sequence (rdf:Seq) of ingredients in the order they should be listed in the recipe.
Range foringredients

 

Menu

URIhttp://purl.org/ontology/fo/Menu
DescriptionA Menu is a collection of recipes, usually one or more per course, that have been selected to go well together. A Menu may also be related to a particular cuisine or occasion.
SuperclassesCollection
Domain forcanape, dessert, main_course, side_dish, starter

 

Method

URIhttp://purl.org/ontology/fo/Method
DescriptionA Method is the way in which ingredients are combined, using particular techniques, in order to produce a food. A method is part of a recipe and is also an rdf:Seq.
Range formethod

 

Occasion

URIhttp://purl.org/ontology/fo/Occasion
DescriptionAn Occasion is a recognized event or type of event that a particular food may be suitable for. An example of a particular occasion might be Chinese New Year, whereas a more general occasion might a birthday.
Range foroccasion

 

Recipe

URIhttp://purl.org/ontology/fo/Recipe
DescriptionA Recipe is a combination of ingredients and a method, created by a chef, that produces a food.
Domain forcuisine, diet, occasion, produces, serve_as, serves, stages
Range forcanape, dessert, main_course, side_dish, starter

 

Season

URIhttp://purl.org/ontology/fo/Season
DescriptionA Season is a period of time that recurs annually during which a food is typically available or at its best.
Range forat_its_best

 

ShoppingCategory

URIhttp://purl.org/ontology/fo/ShoppingCategory
DescriptionA Shopping Category is a classification given to a food to indicate where it may be found when shopping.
Range forshopping_category

 

Stage

URIhttp://purl.org/ontology/fo/Stage
DescriptionA Stage is a part of a recipe that may have its own ingredient list and/or method. It allows the different parts of a multi-part recipe to be modelled separately, yet as part of the same recipe.

 

StageSequence

URIhttp://purl.org/ontology/fo/StageSequence
DescriptionWhere a recipe has a number of stage, for example where a recipe states 'for the sauce' a stage sequence provides a way to sequence the stages (rdf:Seq) into the desired order.
Range forstages

 

Step

URIhttp://purl.org/ontology/fo/Step
DescriptionA Step is the lowest level of instruction used in a recipe. A sequence of steps form a method.
Domain forinstruction

 

Technique

URIhttp://purl.org/ontology/fo/Technique
DescriptionA Technique is a way of working with an ingredient to produce a desired effect, for example, whipping cream.
Range forrequired_technique

 

Properties

 

at its best

URIhttp://purl.org/ontology/fo/at_its_best
DescriptionThe at its best property tells us in what season a particular food is at its best.
DomainFood
RangeSeason

 

canape

URIhttp://purl.org/ontology/fo/canape
DescriptionThe canape property relates a menu to a recipe that may be served as a canape.
DomainMenu
RangeRecipe

 

cuisine

URIhttp://purl.org/ontology/fo/cuisine
DescriptionThe cuisine property classifies a recipe as being an example of that cuisine.
DomainRecipe
RangeCuisine

 

dessert

URIhttp://purl.org/ontology/fo/dessert
DescriptionThe dessert property relates a menu to a recipe that may be served as a dessert.
DomainMenu
RangeRecipe

 

diet

URIhttp://purl.org/ontology/fo/diet
DescriptionThe diet property relates a recipe to a diet it may be suitable for.
DomainRecipe
RangeDiet

 

food

URIhttp://purl.org/ontology/fo/food
DescriptionThe food property relates an ingredient to the food that is required.
DomainIngredient
RangeFood

 

imperial quantity

URIhttp://purl.org/ontology/fo/imperial_quantity
DescriptionA metric quantity provides a value and imperial unit in a human readable string for use in measuring out an ingredient.
DomainIngredient
Rangew3.org/2001/XMLSchema#string

 

ingredients

URIhttp://purl.org/ontology/fo/ingredients
DescriptionThe ingredients property relates a recipe or recipe stage to an ingredient list.
RangeIngredientList

 

instruction

URIhttp://purl.org/ontology/fo/instruction
DescriptionAn instruction provides the human-readable text associated with a step in the method for a recipe.
DomainStep
Rangew3.org/2001/XMLSchema#string

 

main course

URIhttp://purl.org/ontology/fo/main_course
DescriptionThe main course property relates a menu to a recipe that may be served as a main course.
DomainMenu
RangeRecipe

 

method

URIhttp://purl.org/ontology/fo/method
DescriptionThe method property relates a recipe or stage to the method used to make it.
RangeMethod

 

metric quantity

URIhttp://purl.org/ontology/fo/metric_quantity
DescriptionA metric quantity provides a value and metric unit in a human readable string for use in measuring out an ingredient.
DomainIngredient
Rangew3.org/2001/XMLSchema#string

 

occasion

URIhttp://purl.org/ontology/fo/occasion
DescriptionThe occasion property relates a recipe to an occasion it may be appropriate for.
DomainRecipe
RangeOccasion

 

produces

URIhttp://purl.org/ontology/fo/produces
DescriptionThe produces property relates a recipe to the food it produces.
DomainRecipe
RangeFood

 

quantity

URIhttp://purl.org/ontology/fo/quantity
DescriptionA quantity provides a non-negative integer quantity that can be used as a measure of the food stuff for the ingredient.
DomainIngredient
Rangew3.org/2001/XMLSchema#nonNegativeInteger

 

required technique

URIhttp://purl.org/ontology/fo/required_technique
DescriptionThe required technique property indicates that a particular technique is required in order to complete a recipe, method or step.
RangeTechnique

 

serve as

URIhttp://purl.org/ontology/fo/serve_as
DescriptionThe serve as property relates a recipe to the course in a meal that it may be served as.
DomainRecipe
RangeCourse

 

serves

URIhttp://purl.org/ontology/fo/serves
DescriptionThe server property indicates what the recipe is intended to serve, this is often a human readable integer range such as '6-8'.
DomainRecipe
Rangew3.org/2001/XMLSchema#string

 

shopping category

URIhttp://purl.org/ontology/fo/shopping_category
DescriptionThe shopping category property relates a food to the shopping category where that food is likely to be found when shopping for it.
DomainFood
RangeShoppingCategory

 

side dish

URIhttp://purl.org/ontology/fo/side_dish
DescriptionThe side dish property relates a menu to a recipe that may be served as a side dish.
DomainMenu
RangeRecipe

 

stages

URIhttp://purl.org/ontology/fo/stages
DescriptionThe stages property relates a recipe to the sequence of stages it contains.
DomainRecipe
RangeStageSequence

 

starter

URIhttp://purl.org/ontology/fo/starter
DescriptionThe starter property relates a menu to a recipe that may be served as a starter.
DomainMenu
RangeRecipe

Rebuild Page

The page will automatically reload. You may need to reload again if the build takes longer than expected.

Useful links

Demo mode

Hides preview environment warning banner on preview pages.

Theme toggler

Select a theme and theme mode and click "Load theme" to load in your theme combination.

Theme:
Theme Mode: