Schema.org用于复杂或多部分配方

时间:2017-09-04 13:57:26

标签: schema.org recipe structured-data

我正在尝试确定如何在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,但是任何展示原则的东西都会非常感激!

1 个答案:

答案 0 :(得分:1)

如果您需要按“子配方”对成分进行分组,则必须提供多个Recipe项,因为recipeIngredient属性仅针对Recipe类型定义。< / p>

我不知道这样的模型是否有意,但似乎可以使用指定的预期值。如果您认为Recipe指令步骤本身可以是Recipe,则可以使用。

JSON-LD示例

<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是一个列表,可以将HowToDirectionHowToTip个项目作为列表条目。

  • 第二步是HowToSection项。 HowToSection是“分组步骤”。它的定义给出了这个例子,它似乎适合你的情况:

      

    在馅饼配方中制作馅饼皮的步骤

    现在,不再将此HowToSection的{​​{3}}再次表示为HowToStep项列表,而是将子配方作为Recipe项目给出。这是可能的,因为steps具有CreativeWork作为预期值,其中Recipe是子类型。

(请注意,Google的SDTT尚未识别HowTo类型。它们是在上个月发布的当前Schema.org steps中引入的。)

相关问题