Наглядный анализ дневных норм питания
База знаний Wolfram Knowledgebase включает в себя не только информацию о подробныx свойстваx и питательной ценности более чем 37000 продуктов питания ("Food" )и 1000 единиц в категории "пища" ("FoodType"), но и данные о дневных рекомендуемых нормах 176 питательных веществ. Эти обширные наборы данных о питании позволяют производить анализ содержания питательных веществ в практически любой еде и представлять эти данные как в виде числовых значений, так и графически.

EntityValue["Nutrient", "EntityCount"]

Получим список ежедневных рекомендуемых норм питательных веществ, основанных на 2000-калорийной диете.

allDailyValues =
Append[DeleteMissing[
EntityValue["Nutrient", "DailyValue", "EntityAssociation"]],
Entity["Nutrient", "Energy"] ->
Quantity[2000, ("LargeCalories")/("Days")]]*Quantity[1, "Days"]

Подберем питательных вещества, содержащие необходимые для питания элементы.

propertyNutrientRules = {EntityProperty["Food",
"AbsoluteSodiumContent"] -> Entity["Nutrient", "Sodium"],
EntityProperty["Food", "AbsoluteTotalCarbohydratesContent"] ->
Entity["Nutrient", "TotalCarbohydrates"],
EntityProperty["Food", "AbsoluteTotalFatContent"] ->
Entity["Nutrient", "TotalFat"],
EntityProperty["Food", "AbsoluteTotalFiberContent"] ->
Entity["Nutrient", "TotalFiber"],
EntityProperty["Food", "AbsoluteIronContent"] ->
Entity["Nutrient", "Iron"],
EntityProperty["Food", "AbsoluteTotalCaloriesContent"] ->
Entity["Nutrient", "Energy"]};
Рассмотрим питательные составляющие типичного завтрака с использованием функций EntityGroup и EntityInstance.

breakfast = EntityGroup[{
EntityInstance[Entity[
"Food", {
EntityProperty["Food", "CookingMethod"] -> Entity[
"CookingMethod", "HardBoiled"],
EntityProperty["Food", "FoodType"] -> ContainsExactly[{
Entity["FoodType", "Egg"]}],
EntityProperty[
"Food", "AddedFoodTypes"] -> ContainsExactly[{}]}],
Quantity[2, "Servings"]],
EntityInstance[Entity[
"Food", {EntityProperty["Food", "FoodType"] -> ContainsExactly[{
Entity["FoodType", "Bacon"]}],
EntityProperty[
"Food", "AddedFoodTypes"] -> ContainsExactly[{}]}],
Quantity[3, "Slices"]],
EntityInstance[Entity[
"Food", {EntityProperty["Food", "FoodType"] -> ContainsExactly[{
Entity["FoodType", "HashBrown"]}],
EntityProperty[
"Food", "AddedFoodTypes"] -> ContainsExactly[{}]}],
Quantity[1, "Servings"]],
EntityInstance[Entity[
"Food", {EntityProperty["Food", "FoodType"] -> ContainsExactly[{
Entity["FoodType", "OrangeJuice"]}],
EntityProperty[
"Food", "AddedFoodTypes"] -> ContainsExactly[{}]}],
Quantity[2, "Servings"]]
}];
Построим график-"компас", с радиально вложенными шестиугольниками с указанными 50%, 100% (шестиугольник помечен зеленым цветом), и 150% суточными рекомендованными нормами шести основных питательных веществ.

compassPlot[breakfast]

Укажем обед и ужин в дополнении к завтраку.

lunch = EntityGroup[{
EntityInstance[Entity[
"Food", {EntityProperty["Food", "FoodType"] -> ContainsExactly[{
Entity["FoodType", "PeanutButter"]}],
EntityProperty[
"Food", "AddedFoodTypes"] -> ContainsExactly[{}]}],
Quantity[2, "Tablespoons"]],
EntityInstance[Entity[
"Food", {EntityProperty["Food", "FoodType"] -> ContainsExactly[{
Entity["FoodType", "Bread"]}],
EntityProperty[
"Food", "AddedFoodTypes"] -> ContainsExactly[{}]}],
Quantity[2, "Slices"]],
EntityInstance[Entity[
"Food", {EntityProperty["Food", "FoodType"] -> ContainsExactly[{
Entity["FoodType", "Jelly"]}],
EntityProperty[
"Food", "AddedFoodTypes"] -> ContainsExactly[{}]}],
Quantity[1, "Servings"]]
}];

dinner = EntityGroup[{
EntityInstance[Entity[
"Food", {EntityProperty["Food", "FoodType"] -> ContainsExactly[{
Entity["FoodType", "Spaghetti"]}],
EntityProperty[
"Food", "AddedFoodTypes"] -> ContainsExactly[{}]}],
Quantity[1, "Servings"]],
EntityInstance[Entity[
"Food", {EntityProperty["Food", "FoodType"] -> ContainsExactly[{
Entity["FoodType", "Meatball"]}],
EntityProperty[
"Food", "AddedFoodTypes"] -> ContainsExactly[{}]}],
Quantity[3, "Items"]],
EntityInstance[Entity[
"Food", {
EntityProperty["Food", "BrandName"] -> Entity[
"FoodBrandName", "Bertolli"],
EntityProperty["Food", "FoodType"] -> ContainsExactly[{
Entity["FoodType", "Sauce"]}],
EntityProperty[
"Food", "AddedFoodTypes"] -> ContainsExactly[{}]}],
Quantity[1.5, "Servings"]],
EntityInstance[Entity[
"Food", {
EntityProperty["Food", "Flavor"] -> Entity[
"FoodFlavor", "Cola"],
EntityProperty["Food", "FoodType"] -> ContainsExactly[{
Entity["FoodType", "CarbonatedBeverage"]}],
EntityProperty[
"Food", "AddedFoodTypes"] -> ContainsExactly[{}]}],
Quantity[1, "USSodaCanVolumes"]]
}];
Визуализируем инкрементное поступление питательных веществ после каждого приема пищи.
