我正在尝试确定如何在Schema.org中标记Recipe
,其中配方有多个子配方。
例如:Victoria Sponge可能有:
Set #1: Ingredients, preparation steps, and prep/cook times for the Sponge
Set #2: Ingredients, preparation steps, and prep times for the Filling
Set #3: Ingredients, preparation steps, and prep times for the Icing/Topping
我已经看过配方示例,其中所有成分都在一个列表中,然后说明/步骤尝试确定哪个用于哪个点,但这不是真的令人满意。
明显的方法是:单独的配方组件,或者可能是一个"数组"成分和步骤。而且,我可以看到它应该可以使用HowTo
结构的子食谱步骤,但看不出如何。
我真的很想看到一个实际尝试过的例子。我正在使用JSON-LD,但是任何展示原则的东西都会非常感激!
答案 0 :(得分:1)
如果您需要按“子配方”对成分进行分组,则必须提供多个Recipe
项,因为recipeIngredient
属性仅针对Recipe
类型定义。< / p>
我不知道这样的模型是否有意,但似乎可以使用指定的预期值。如果您认为Recipe
指令步骤本身可以是Recipe
,则可以使用。
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Recipe",
"recipeInstructions": {
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "HowToStep"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@type": "HowToSection",
"steps": {
"@type": "Recipe"
}
}
},
{
"@type": "ListItem",
"position": 3,
"item": {
"@type": "HowToStep"
}
}
]
}
}
</script>
主Recipe
有三个指令步骤。
ListItem
用于为每个步骤position
(以便ItemList
订购)。
第一步和最后一步是HowToStep
个项目。 HowToStep
是一个列表,可以将HowToDirection
和HowToTip
个项目作为列表条目。
第二步是HowToSection
项。 HowToSection
是“分组步骤”。它的定义给出了这个例子,它似乎适合你的情况:
在馅饼配方中制作馅饼皮的步骤
现在,不再将此HowToSection
的{{3}}再次表示为HowToStep
项列表,而是将子配方作为Recipe
项目给出。这是可能的,因为steps
具有CreativeWork
作为预期值,其中Recipe
是子类型。
(请注意,Google的SDTT尚未识别HowTo
类型。它们是在上个月发布的当前Schema.org steps
中引入的。)