【问题标题】:What exactly are pointers in Schema.org and how to use them with JSON-LD?Schema.org 中的指针到底是什么以及如何将它们与 JSON-LD 一起使用?
【发布时间】:2017-06-01 12:50:33
【问题描述】:

schema.org 文档有时会提到“指针”。例如。 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>

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

【问题讨论】:

标签: schema.org json-ld


【解决方案1】:

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

所以你也可以使用:

  "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"
  },

【讨论】:

  • 谢谢@unor。片段标识符#this有什么特殊含义吗?
  • 再次@unor:您能否指出我可以找到此类信息的文档部分。我很难找到正确的文档。
  • @Stefan:请参阅“预期类型与文本”。在Expected types, text, and URLs 下。 // 关于#this:这是一种区分事物本身和有关此事物的页面的方法。 “this”没有特殊含义,它只是一个约定(也可以是“product”或其他)。要了解更多信息,请参阅my answer to the question @id vs. URL for linking JSON-LD nodes
猜你喜欢
  • 2016-03-18
  • 1970-01-01
  • 2010-12-09
  • 2022-11-11
  • 2010-12-25
  • 2016-09-10
  • 1970-01-01
  • 1970-01-01
  • 2010-11-26
相关资源
最近更新 更多