Skip to content

Schemas

Ingredient

description: An ingredient used in cooking recipes.

inherits from: nomad.datamodel.metainfo.basesections.v1.Entity, nomad.datamodel.data.EntryData

properties:

name type
density float unit=gram / liter, default=1000.0
weight_per_piece float unit=gram, default=50.0
diet_type ['ambiguous', 'omnivorous', 'vegan', 'vegetarian']
calories_per_100_g float Nutrients per 100 g for this ingredient type imported from USDA.
unit=kilocalorie
fat_per_100_g float Nutrients per 100 g for this ingredient type imported from USDA.
unit=gram
protein_per_100_g float Nutrients per 100 g for this ingredient type imported from USDA.
unit=gram
carbohydrates_per_100_g float Nutrients per 100 g for this ingredient type imported from USDA.
unit=gram
fdc_id int
ndb_id int

normalization without further documentation

IngredientAmount

description: Represents the amount of an ingredient in a recipe.

inherits from: nomad.datamodel.metainfo.basesections.v1.EntityReference

properties:

name type
name str A short descriptive name for the role of this reference.
mass float The mass of the ingredient
unit=gram
lab_id str An ID string that is unique at least for the lab that produced this data.
reference Ingredient A reference to a ingredient type entry.
diet_type ['ambiguous', 'omnivorous', 'vegan', 'vegetarian']
calories float Total calories of this ingredient.
unit=kilocalorie
fat float Total fat of this ingredient.
unit=gram
protein float Total proteins of this ingredient.
unit=gram
carbohydrates float Total carbohydrates of this ingredient.
unit=gram

normalization:

For the given ingredient name or ID, fetches the corresponding Ingredient entry. If not found, creates a new Ingredient entry. Converts the quantity to SI units based on the unit and ingredient properties like density or weight per piece.

IngredientVolume

inherits from: IngredientAmount

properties:

name type
volume float The volume of the ingredient that should be used.
unit=milliliter
mass float The mass of the ingredient that should be used.
unit=gram

normalization without further documentation

IngredientPiece

inherits from: IngredientAmount

properties:

name type
pieces float The number of pieces of the ingredient that should be used.
mass float The mass of the ingredient that should be used.
unit=gram

normalization without further documentation

Tool

description: A kitchen tool or utensil used in cooking.

inherits from: nomad.datamodel.data.ArchiveSection

properties:

name type
name str
type str
description str

RecipeStep

description: A single step in a cooking recipe.

inherits from: nomad.datamodel.data.ArchiveSection

properties:

name type
duration float unit=minute
instruction str
tools Tool sub-section, repeats
ingredients IngredientAmount sub-section, repeats

HeatingCoolingStep

description: A recipe step that involves heating or cooling to a specific temperature.

inherits from: RecipeStep

properties:

name type
temperature float unit=degree_Celsius, default=20.0

Recipe

description: A schema representing a cooking recipe with ingredients, tools, and steps.

inherits from: nomad.datamodel.metainfo.basesections.v1.BaseSection, nomad.datamodel.data.EntryData

properties:

name type
name str A short human readable and descriptive name.
duration float unit=minute
authors str
difficulty ['easy', 'hard', 'medium']
number_of_servings int
summary str
cuisine str
diet_type ['ambiguous', 'omnivorous', 'vegan', 'vegetarian']
calories float Total calories of this ingredient.
unit=kilocalorie
fat float Total fat of this recipe.
unit=gram
protein float Total proteins of this recipe.
unit=gram
carbohydrates float Total carbohydrates of this recipe.
unit=gram
calories_per_serving float Calories per serving.
unit=kilocalorie
fat_per_serving float Fats per serving.
unit=gram
protein_per_serving float Proteins per serving.
unit=gram
carbohydrates_per_serving float Carbohydrates per serving.
unit=gram
_normalization_delay float default=0.0
tools Tool sub-section, repeats
steps RecipeStep sub-section, repeats
ingredients IngredientAmount sub-section, repeats

normalization:

Collects all ingredients and tools from steps and adds them to the recipe's ingredients and tools lists.

RecipeScaler

description: Scale a recipe for different serving sizes

inherits from: nomad.datamodel.metainfo.basesections.v1.BaseSection, nomad.datamodel.data.EntryData

properties:

name type
original_recipe Recipe Reference to the original recipe to be scaled
desired_servings int Number of servings desired for the scaled recipe
scaled_recipe Recipe The resulting scaled recipe

normalization:

Uses the referenced original recipe entry and specified desired servings to create a scaled recipe entry.