Schema.org 中的指针到底是什么以及如何将它们与 JSON-LD 一起使用?

What exactly are pointers in Schema.org and how to use them with JSON-LD?

schema.org 文档有时引用 "pointers"。例如。 Product schema 有 属性 isSimilarTo.

我明白,我可以直接使用 ProductService。例如:

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "name": "BMW",
  "isSimilarTo": {
    "@type": "Product",
    "name": "Mercedes Benz"
  },
  "offers": {
    "@type": "Offer",
    "priceCurrency": "EUR",
    "price": "100000.00"
  }
}
</script>

这是在此上下文中使用和解释术语 'pointer' 的唯一且正确的方法吗?对于一个指针,我宁愿期望一些值(一个 ID 或一个 URL 或类似的)只是指向另一个产品或服务。

您的示例是正确的,它遵循了 Schema.org 对 isSimilarTo 属性 预期值的建议。但是 Schema.org 允许每个 属性 的 URI 值,即使对于那些没有明确列出 URL 作为预期值的 URI 值也是如此。

因此您还可以使用:

  "isSimilarTo": {
    "@id": "https://example.com/products/mercedes-benz#this"
  },

请注意,消费者(如 Google)不一定遵循这些参考。您也可以同时使用这两种方式:在当前页面上提供数据(或部分数据),并引用项目的 URI:

   "isSimilarTo": {
    "@id": "https://example.com/products/mercedes-benz#this",
    "@type": "Product",
    "name": "Mercedes Benz",
    "url": "https://example.com/products/mercedes-benz"
  },