{"source":{"url":"https://ontology.live/o/recipe-ontology-e6054e","author":"@ssergienko","license":"CC BY 4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","publishedAt":"2026-10-21T19:39:43.926Z"},"ontology":{"name":"Recipe Ontology","description":"Models cooking recipe documents, with a title, metadata, ingredient list, method steps and optional advice. Used to generate new recipes of varying cuisine, diet, difficulty and structure from a prompt.","domain":"culinary"},"graph":{"nodes":[{"id":"recipe","type":"class","label":"Recipe","description":"The whole document describing how to prepare one dish.","semantics":"Root entity; all other nodes describe or compose it.","examples":["Weeknight Lentil Stew","Classic Buttermilk Pancakes"]},{"id":"title","type":"property","label":"Title","description":"Name of the dish, often with a style qualifier.","semantics":"Qualifiers like Weeknight or Classic signal tone and authenticity.","examples":["Easy Mushroom Risotto","Traditional Welsh Rarebit"]},{"id":"metadata_block","type":"class","label":"Metadata Block","description":"Compact header lines with classification and logistics.","semantics":"Fields separated by pipes or dots; the selection and order of fields vary.","examples":["Cuisine: Thai | Course: Main | Diet: vegan","Yield: 8 scones · Skill level: easy"]},{"id":"cuisine","type":"dimension","label":"Cuisine","description":"Culinary tradition or regional style.","semantics":"Drives ingredient choice, techniques and flavour profile.","examples":["Italian","Mexican-inspired","French"]},{"id":"course","type":"dimension","label":"Course / Category","description":"Meal slot or dish type.","semantics":"Affects portion size, richness and serving suggestions; may combine categories.","examples":["Main","Breakfast / Dessert","Side"]},{"id":"diet_tags","type":"property","label":"Dietary Tags","description":"Dietary suitability labels.","semantics":"Constrain permissible ingredients; may be absent.","examples":["vegan","gluten-free","dairy-free"]},{"id":"difficulty","type":"dimension","label":"Difficulty / Skill Level","description":"Expected cooking skill.","semantics":"Correlates with step count, technique complexity and timing precision.","examples":["easy","intermediate","advanced"]},{"id":"timing","type":"property","label":"Timing","description":"Prep, cook, active, resting and total times.","semantics":"Total should be consistent with its components; special phases like resting appear when needed.","examples":["Prep 10 min | Cook 25 min | Total 35 min","Active 30 min, Resting 30 min"]},{"id":"yield","type":"property","label":"Yield / Servings","description":"Quantity produced or number served.","semantics":"Ingredient quantities scale to it; expressed as servings or counted items with size.","examples":["Serves 4","12 crêpes (20 cm)"]},{"id":"nutrition","type":"property","label":"Nutrition per Serving","description":"Calories and macronutrients per serving.","semantics":"Optional; must be plausible for the ingredients and yield.","examples":["410 kcal, 14 g protein, 18 g fat, 48 g carbs","320 kcal, 9 g protein"]},{"id":"allergens","type":"property","label":"Allergens","description":"Declared allergens in the dish.","semantics":"Must agree with ingredients; may state none.","examples":["egg, milk, gluten","none of the top 14"]},{"id":"ingredient_list","type":"class","label":"Ingredient List","description":"Section listing all ingredients with quantities.","semantics":"Ordered roughly by use; may be grouped by component (Batter, Sauce) or have a serving line.","examples":["Ingredients","Batter"]},{"id":"ingredient","type":"class","label":"Ingredient Item","description":"A single ingredient line.","semantics":"Combines quantity, unit, name and preparation note; optional items are flagged.","examples":["2 tbsp olive oil","1 large onion, finely chopped","1 tbsp sugar (optional)"]},{"id":"quantity_unit","type":"property","label":"Quantity & Unit","description":"Amount and measure of an ingredient.","semantics":"Metric or kitchen units, scaled to yield; may be vague like pinch or to taste.","examples":["400 ml","2 tbsp","1 pinch"]},{"id":"prep_note","type":"property","label":"Preparation Note","description":"Modifier on an ingredient describing its state.","semantics":"Usually follows a comma after the name.","examples":["finely chopped","melted","drained"]},{"id":"method","type":"class","label":"Method / Steps","description":"Ordered instructions for preparing the dish.","semantics":"Numbered or unnumbered paragraphs; 3–8 steps in imperative voice.","examples":["Method","Steps"]},{"id":"step","type":"class","label":"Step","description":"One instruction unit.","semantics":"Begins with an action verb and includes heat level, duration and a doneness cue.","examples":["Fry the onion for 8 minutes until soft.","Rest 30 minutes."]},{"id":"doneness_cue","type":"property","label":"Doneness Cue","description":"Sensory or time indicator for completion.","semantics":"Pairs with durations to make steps verifiable.","examples":["until fragrant","until soft","smooth paste"]},{"id":"technique","type":"dimension","label":"Cooking Technique","description":"Core cooking methods used.","semantics":"Determines equipment and the verbs in the steps.","examples":["simmer","fry","whisk and rest","bake"]},{"id":"equipment","type":"property","label":"Equipment","description":"Tools or cookware needed.","semantics":"Implied by technique; may be listed explicitly.","examples":["large saucepan","crêpe pan"]},{"id":"tips_section","type":"class","label":"Tips & Notes","description":"Short closing advice lines.","semantics":"Optional; each is a labelled one-liner.","examples":["Tips: swap spinach for kale","Make ahead: refrigerate up to 2 days"]},{"id":"substitutions","type":"property","label":"Substitutions","description":"Alternative ingredients and their effect.","semantics":"May mention how the result changes.","examples":["oat milk works","gluten-free flour gives thicker crêpes"]},{"id":"storage","type":"property","label":"Storage & Make-Ahead","description":"Keeping, freezing and advance preparation guidance.","semantics":"Includes durations and methods.","examples":["Keeps 3 days in the fridge; freezes well","stack with baking paper"]},{"id":"serving_suggestions","type":"property","label":"Serving / Fillings / Variations","description":"Accompaniments, toppings or variants.","semantics":"A list separated by semicolons.","examples":["To serve: basmati rice, coriander","Fillings: lemon and sugar; ham and cheese"]},{"id":"rating","type":"property","label":"Rating","description":"Aggregate user rating.","semantics":"Appears in web-style recipes; star score and count.","examples":["★★★★☆ (312 ratings)"]},{"id":"c_consistency","type":"constraint","label":"Ingredient–Step Consistency","description":"Every ingredient is used in the steps, and steps use only listed ingredients.","semantics":"Ensures a coherent document.","examples":["Garlic listed and added in step 2"]},{"id":"c_diet_allergen","type":"constraint","label":"Diet & Allergen Consistency","description":"Diet tags and allergen declarations must match the ingredients.","semantics":"A vegan recipe cannot contain egg or milk.","examples":["Vegan tag with coconut milk","Allergens: egg, milk for crêpes"]},{"id":"c_time_sum","type":"constraint","label":"Time Coherence","description":"Total time equals prep plus cook, and step durations fit within it.","semantics":"Keeps timing believable.","examples":["10 + 25 = 35 min"]},{"id":"c_concise","type":"constraint","label":"Concise Compact Style","description":"Terse, imperative, information-dense prose with minimal narrative.","semantics":"Metadata is on one-line fields; sections are short.","examples":["Cook 1 minute until fragrant."]},{"id":"structure_variant","type":"dimension","label":"Structural Layout Variant","description":"How sections are labelled and grouped.","semantics":"Ingredients may be bulleted or plain, grouped or flat; steps may be numbered or prose.","examples":["bulleted ingredients with numbered method","grouped Batter with prose Steps"]}],"edges":[{"source":"recipe","target":"title","label":"has title","type":"has_property"},{"source":"recipe","target":"metadata_block","label":"contains","type":"part_of"},{"source":"metadata_block","target":"cuisine","label":"states","type":"has_property"},{"source":"metadata_block","target":"course","label":"states","type":"has_property"},{"source":"metadata_block","target":"diet_tags","label":"states","type":"has_property"},{"source":"metadata_block","target":"difficulty","label":"states","type":"has_property"},{"source":"metadata_block","target":"timing","label":"states","type":"has_property"},{"source":"metadata_block","target":"yield","label":"states","type":"has_property"},{"source":"metadata_block","target":"nutrition","label":"may state","type":"has_property"},{"source":"metadata_block","target":"allergens","label":"states","type":"has_property"},{"source":"recipe","target":"ingredient_list","label":"has section","type":"has_property"},{"source":"ingredient_list","target":"ingredient","label":"contains many","type":"part_of"},{"source":"ingredient","target":"quantity_unit","label":"has amount","type":"has_property"},{"source":"ingredient","target":"prep_note","label":"has note","type":"has_property"},{"source":"recipe","target":"method","label":"has section","type":"has_property"},{"source":"method","target":"step","label":"contains ordered","type":"part_of"},{"source":"step","target":"doneness_cue","label":"includes","type":"has_property"},{"source":"step","target":"technique","label":"applies","type":"relates_to"},{"source":"technique","target":"equipment","label":"requires","type":"relates_to"},{"source":"step","target":"ingredient","label":"uses","type":"relates_to"},{"source":"recipe","target":"tips_section","label":"may have","type":"has_property"},{"source":"tips_section","target":"substitutions","label":"includes","type":"part_of"},{"source":"tips_section","target":"storage","label":"includes","type":"part_of"},{"source":"recipe","target":"serving_suggestions","label":"may have","type":"has_property"},{"source":"recipe","target":"rating","label":"may have","type":"has_property"},{"source":"yield","target":"quantity_unit","label":"scales","type":"constrains"},{"source":"c_consistency","target":"method","label":"constrains","type":"constrains"},{"source":"c_diet_allergen","target":"ingredient_list","label":"constrains","type":"constrains"},{"source":"diet_tags","target":"c_diet_allergen","label":"checked by","type":"relates_to"},{"source":"allergens","target":"c_diet_allergen","label":"checked by","type":"relates_to"},{"source":"c_time_sum","target":"timing","label":"constrains","type":"constrains"},{"source":"difficulty","target":"method","label":"influences complexity","type":"relates_to"},{"source":"cuisine","target":"ingredient_list","label":"influences","type":"relates_to"},{"source":"c_concise","target":"recipe","label":"constrains style","type":"constrains"},{"source":"structure_variant","target":"recipe","label":"shapes layout","type":"constrains"},{"source":"course","target":"yield","label":"influences","type":"relates_to"}]},"pipeline":{"classes":[{"id":"recipe","label":"Recipe","description":"The whole document describing how to prepare one dish.","parent":null,"properties":[{"id":"title","label":"Title","description":"Name of the dish, often with a style qualifier.","examples":["Easy Mushroom Risotto","Traditional Welsh Rarebit"]},{"id":"ingredient_list","label":"Ingredient List","description":"Section listing all ingredients with quantities.","examples":["Ingredients","Batter"]},{"id":"method","label":"Method / Steps","description":"Ordered instructions for preparing the dish.","examples":["Method","Steps"]},{"id":"tips_section","label":"Tips & Notes","description":"Short closing advice lines.","examples":["Tips: swap spinach for kale","Make ahead: refrigerate up to 2 days"]},{"id":"serving_suggestions","label":"Serving / Fillings / Variations","description":"Accompaniments, toppings or variants.","examples":["To serve: basmati rice, coriander","Fillings: lemon and sugar; ham and cheese"]},{"id":"rating","label":"Rating","description":"Aggregate user rating.","examples":["★★★★☆ (312 ratings)"]}],"relations":[{"type":"part_of","target":"Metadata Block","label":"contains"}],"examples":["Weeknight Lentil Stew","Classic Buttermilk Pancakes"]},{"id":"metadata_block","label":"Metadata Block","description":"Compact header lines with classification and logistics.","parent":null,"properties":[{"id":"cuisine","label":"Cuisine","description":"Culinary tradition or regional style.","examples":["Italian","Mexican-inspired","French"]},{"id":"course","label":"Course / Category","description":"Meal slot or dish type.","examples":["Main","Breakfast / Dessert","Side"]},{"id":"diet_tags","label":"Dietary Tags","description":"Dietary suitability labels.","examples":["vegan","gluten-free","dairy-free"]},{"id":"difficulty","label":"Difficulty / Skill Level","description":"Expected cooking skill.","examples":["easy","intermediate","advanced"]},{"id":"timing","label":"Timing","description":"Prep, cook, active, resting and total times.","examples":["Prep 10 min | Cook 25 min | Total 35 min","Active 30 min, Resting 30 min"]},{"id":"yield","label":"Yield / Servings","description":"Quantity produced or number served.","examples":["Serves 4","12 crêpes (20 cm)"]},{"id":"nutrition","label":"Nutrition per Serving","description":"Calories and macronutrients per serving.","examples":["410 kcal, 14 g protein, 18 g fat, 48 g carbs","320 kcal, 9 g protein"]},{"id":"allergens","label":"Allergens","description":"Declared allergens in the dish.","examples":["egg, milk, gluten","none of the top 14"]}],"relations":[],"examples":["Cuisine: Thai | Course: Main | Diet: vegan","Yield: 8 scones · Skill level: easy"]},{"id":"ingredient_list","label":"Ingredient List","description":"Section listing all ingredients with quantities.","parent":null,"properties":[],"relations":[{"type":"part_of","target":"Ingredient Item","label":"contains many"}],"examples":["Ingredients","Batter"]},{"id":"ingredient","label":"Ingredient Item","description":"A single ingredient line.","parent":null,"properties":[{"id":"quantity_unit","label":"Quantity & Unit","description":"Amount and measure of an ingredient.","examples":["400 ml","2 tbsp","1 pinch"]},{"id":"prep_note","label":"Preparation Note","description":"Modifier on an ingredient describing its state.","examples":["finely chopped","melted","drained"]}],"relations":[],"examples":["2 tbsp olive oil","1 large onion, finely chopped","1 tbsp sugar (optional)"]},{"id":"method","label":"Method / Steps","description":"Ordered instructions for preparing the dish.","parent":null,"properties":[],"relations":[{"type":"part_of","target":"Step","label":"contains ordered"}],"examples":["Method","Steps"]},{"id":"step","label":"Step","description":"One instruction unit.","parent":null,"properties":[{"id":"doneness_cue","label":"Doneness Cue","description":"Sensory or time indicator for completion.","examples":["until fragrant","until soft","smooth paste"]}],"relations":[{"type":"relates_to","target":"Cooking Technique","label":"applies"},{"type":"relates_to","target":"Ingredient Item","label":"uses"}],"examples":["Fry the onion for 8 minutes until soft.","Rest 30 minutes."]},{"id":"tips_section","label":"Tips & Notes","description":"Short closing advice lines.","parent":null,"properties":[],"relations":[{"type":"part_of","target":"Substitutions","label":"includes"},{"type":"part_of","target":"Storage & Make-Ahead","label":"includes"}],"examples":["Tips: swap spinach for kale","Make ahead: refrigerate up to 2 days"]}],"dimensions":[{"id":"cuisine","label":"Cuisine","description":"Culinary tradition or regional style.","values":[]},{"id":"course","label":"Course / Category","description":"Meal slot or dish type.","values":[]},{"id":"difficulty","label":"Difficulty / Skill Level","description":"Expected cooking skill.","values":[]},{"id":"technique","label":"Cooking Technique","description":"Core cooking methods used.","values":[]},{"id":"structure_variant","label":"Structural Layout Variant","description":"How sections are labelled and grouped.","values":[]}],"constraints":[{"id":"c_consistency","label":"Ingredient–Step Consistency","description":"Every ingredient is used in the steps, and steps use only listed ingredients.","appliesTo":["Method / Steps"]},{"id":"c_diet_allergen","label":"Diet & Allergen Consistency","description":"Diet tags and allergen declarations must match the ingredients.","appliesTo":["Ingredient List"]},{"id":"c_time_sum","label":"Time Coherence","description":"Total time equals prep plus cook, and step durations fit within it.","appliesTo":["Timing"]},{"id":"c_concise","label":"Concise Compact Style","description":"Terse, imperative, information-dense prose with minimal narrative.","appliesTo":["Recipe"]}],"promptReady":"# Recipe Ontology\n\nModels cooking recipe documents, with a title, metadata, ingredient list, method steps and optional advice. Used to generate new recipes of varying cuisine, diet, difficulty and structure from a prompt.\n\n**Domain:** culinary\n\n## Classes\n\n### Recipe\nThe whole document describing how to prepare one dish.\n\n**Properties:**\n- Title: Name of the dish, often with a style qualifier.\n  Examples: Easy Mushroom Risotto, Traditional Welsh Rarebit\n- Ingredient List: Section listing all ingredients with quantities.\n  Examples: Ingredients, Batter\n- Method / Steps: Ordered instructions for preparing the dish.\n  Examples: Method, Steps\n- Tips & Notes: Short closing advice lines.\n  Examples: Tips: swap spinach for kale, Make ahead: refrigerate up to 2 days\n- Serving / Fillings / Variations: Accompaniments, toppings or variants.\n  Examples: To serve: basmati rice, coriander, Fillings: lemon and sugar; ham and cheese\n- Rating: Aggregate user rating.\n  Examples: ★★★★☆ (312 ratings)\n\n**Relations:**\n- contains → Metadata Block\n\n**Examples:**\n- Weeknight Lentil Stew\n- Classic Buttermilk Pancakes\n\n### Metadata Block\nCompact header lines with classification and logistics.\n\n**Properties:**\n- Cuisine: Culinary tradition or regional style.\n  Examples: Italian, Mexican-inspired, French\n- Course / Category: Meal slot or dish type.\n  Examples: Main, Breakfast / Dessert, Side\n- Dietary Tags: Dietary suitability labels.\n  Examples: vegan, gluten-free, dairy-free\n- Difficulty / Skill Level: Expected cooking skill.\n  Examples: easy, intermediate, advanced\n- Timing: Prep, cook, active, resting and total times.\n  Examples: Prep 10 min | Cook 25 min | Total 35 min, Active 30 min, Resting 30 min\n- Yield / Servings: Quantity produced or number served.\n  Examples: Serves 4, 12 crêpes (20 cm)\n- Nutrition per Serving: Calories and macronutrients per serving.\n  Examples: 410 kcal, 14 g protein, 18 g fat, 48 g carbs, 320 kcal, 9 g protein\n- Allergens: Declared allergens in the dish.\n  Examples: egg, milk, gluten, none of the top 14\n\n**Examples:**\n- Cuisine: Thai | Course: Main | Diet: vegan\n- Yield: 8 scones · Skill level: easy\n\n### Ingredient List\nSection listing all ingredients with quantities.\n\n**Relations:**\n- contains many → Ingredient Item\n\n**Examples:**\n- Ingredients\n- Batter\n\n### Ingredient Item\nA single ingredient line.\n\n**Properties:**\n- Quantity & Unit: Amount and measure of an ingredient.\n  Examples: 400 ml, 2 tbsp, 1 pinch\n- Preparation Note: Modifier on an ingredient describing its state.\n  Examples: finely chopped, melted, drained\n\n**Examples:**\n- 2 tbsp olive oil\n- 1 large onion, finely chopped\n- 1 tbsp sugar (optional)\n\n### Method / Steps\nOrdered instructions for preparing the dish.\n\n**Relations:**\n- contains ordered → Step\n\n**Examples:**\n- Method\n- Steps\n\n### Step\nOne instruction unit.\n\n**Properties:**\n- Doneness Cue: Sensory or time indicator for completion.\n  Examples: until fragrant, until soft, smooth paste\n\n**Relations:**\n- applies → Cooking Technique\n- uses → Ingredient Item\n\n**Examples:**\n- Fry the onion for 8 minutes until soft.\n- Rest 30 minutes.\n\n### Tips & Notes\nShort closing advice lines.\n\n**Relations:**\n- includes → Substitutions\n- includes → Storage & Make-Ahead\n\n**Examples:**\n- Tips: swap spinach for kale\n- Make ahead: refrigerate up to 2 days\n\n## Dimensions\n\n### Cuisine\nCulinary tradition or regional style.\n\n### Course / Category\nMeal slot or dish type.\n\n### Difficulty / Skill Level\nExpected cooking skill.\n\n### Cooking Technique\nCore cooking methods used.\n\n### Structural Layout Variant\nHow sections are labelled and grouped.\n\n## Constraints\n\n- **Ingredient–Step Consistency** (Method / Steps): Every ingredient is used in the steps, and steps use only listed ingredients.\n- **Diet & Allergen Consistency** (Ingredient List): Diet tags and allergen declarations must match the ingredients.\n- **Time Coherence** (Timing): Total time equals prep plus cook, and step durations fit within it.\n- **Concise Compact Style** (Recipe): Terse, imperative, information-dense prose with minimal narrative."}}