schema.org 中的多个实体

Multiple entities in schema.org

如何在 NewsArticleBlogPosting 中嵌套一个或多个食谱。

我试过了,但是 Google's Structured Data Testing Tool 抛出一个错误,抱怨 recipe1 键。我不确定要将 recipe1 键更改为:

  <script type="application/ld+json">
{
"@context" : "http://schema.org",
  "@type" : "NewsArticle",
  "author" : { "@type" : "Person",
      "name" : "hgezim"
    },
  "dateModified" : "2016-09-21T06:25:35+00:00",
  "datePublished" : "2016-09-21T06:25:35+00:00",
  "headline" : "Chicken Papriak",
  "mainEntityOfPage" : "http://localhost:8080/2016/09/21/chicken-papriak/",
  "publisher" : { "@type" : "Organization",
      "name" : "Dev Blog"
  },
  "recipe1": {
    "@context": "http://schema.org",
    "@type": "Recipe",
    "author": "John Smith",
    "cookTime": "PT1H",
    "datePublished": "2009-05-08",
    "description": "This classic banana bread recipe comes from my mom -- the walnuts add a nice texture and flavor to the banana bread.",
    "image": "bananabread.jpg",
    "recipeIngredient": [
      "3 or 4 ripe bananas, smashed",
      "1 egg",
      "3/4 cup of sugar"
    ],
    "interactionStatistic": {
      "@type": "InteractionCounter",
      "interactionType": "http://schema.org/Comment",
      "userInteractionCount": "140"
    },
    "name": "Mom's World Famous Banana Bread",
    "nutrition": {
      "@type": "NutritionInformation",
      "calories": "240 calories",
      "fatContent": "9 grams fat"
    },
    "prepTime": "PT15M",
    "recipeInstructions": "Preheat the oven to 350 degrees. Mix in the ingredients in a bowl. Add the flour last. Pour the mixture into a loaf pan and bake for one hour.",
    "recipeYield": "1 loaf",
    "suitableForDiet": "http://schema.org/LowFatDiet"
  }
}
  </script>

这取决于实体之间的关系。您必须使用定义为传达此关系的 属性。

要寻找合适的 属性,检查 BlogPosting for properties that have Recipe or one of its parent types (CreativeWork, Thing) 作为预期值。

例如:

  • about 如果博客 post 是关于这个特定食谱的(例如,你描述了你喜欢它的程度)
  • hasPart 如果食谱构成博客的一部分,则可以使用 post
  • mentions如果你只是在博客中引用这个食谱就可以使用post

谢谢@unor。我使用 hasPart 如下:

<script type="application/ld+json">
{ "@context" : "http://schema.org",
  "@type" : "NewsArticle",
  "author" : { "@type" : "Person",
      "name" : "hgezim"
    },
  "dateModified" : "2016-09-21T06:25:35+00:00",
  "datePublished" : "2016-09-21T06:25:35+00:00",
  "hasPart" : { "@context" : "http://schema.org",
      "@type" : "Recipe",
      "author" : "John Smith",
      "cookTime" : "PT1H",
      "datePublished" : "2009-05-08",
      "description" : "This classic banana bread recipe comes from my mom -- the walnuts add a nice texture and flavor to the banana bread.",
      "image" : "bananabread.jpg",
      "interactionStatistic" : { "@type" : "InteractionCounter",
          "interactionType" : "http://schema.org/Comment",
          "userInteractionCount" : "140"
        },
      "name" : "Mom's World Famous Banana Bread",
      "nutrition" : { "@type" : "NutritionInformation",
          "calories" : "240 calories",
          "fatContent" : "9 grams fat"
        },
      "prepTime" : "PT15M",
      "recipeIngredient" : [ "3 or 4 ripe bananas, smashed",
          "1 egg",
          "3/4 cup of sugar"
        ],
      "recipeInstructions" : "Preheat the oven to 350 degrees. Mix in the ingredients in a bowl. Add the flour last. Pour the mixture into a loaf pan and bake for one hour.",
      "recipeYield" : "1 loaf",
      "suitableForDiet" : "http://schema.org/LowFatDiet"
    },
  "headline" : "Chicken Papriak",
  "mainEntityOfPage" : "http://localhost:8080/2016/09/21/chicken-papriak/",
  "publisher" : { "@type" : "Organization",
      "name" : "Dev Blog"
    }
}
</script>

它验证为 validates JSON-LD