【问题标题】:List of citations doesn’t get recognized by SDTTSDTT 无法识别引文列表
【发布时间】:2017-10-24 18:48:28
【问题描述】:

我正在尝试使用 JSON-LD 正确构建引文列表,但无法让 Google 的 SDTT 识别这些项目。

我在这里简化了数据。谁能告诉我是什么不允许 SDTT 看到该项目?

<script type="application/ld+json"> 
    "@context": "http://schema.org/",
    "@type": "ItemList" {
        "@type": "citation" {
            "@type" : "periodical" {
                "name": "Log of Mystic Seaport (1948-2003; Vols. 1-54)"
             },
    "@type": "vehicle" {
        "name": "Mary Celeste",
        "category": "brig",
        "date": "1905",
        "nationality": "American",
        "weight": "",
        "id": ""
      }
    }
  }
} 
</script>

【问题讨论】:

  • 您是否尝试过验证您的 json-ld 是否有效?您是否尝试过使用谷歌用于结构化数据的工具对其进行测试?还建议您检查您的架构是否对 schema.org 有效。
  • 您有四个{ 和五个}。 -- 关于您的代码格式:您无需编写&lt; script&lt; /script 即可在代码块中显示标记。仅内联代码需要将标记括在“`”中,但您使用的是代码块。
  • 是的,单引号是粘贴错误。它是“检测到,但找到的项目仍然为 0,所以我认为有问题。它接近 schema.org,但不准确。也许这就是问题所在。

标签: schema.org json-ld citations


【解决方案1】:

错误

在 JSON-LD 中,大括号必须成对出现:

  • 您有四个{,但有五个}

Schema.org 术语区分大小写:

JSON-LD 的@type 只能用于类型,不能用于属性:

  • citation 不是类型,而是属性。

@type 语句后面不能跟 {

  • "@type": "ItemList" {(和其他情况)无效。看来您还想在这里使用一个属性。

对于 Schema.org 类型,您应该只使用为其定义的属性:

  • Vehicle 类型没有定义属性datenationalityid(Schema.org 中没有这样的属性)。

ItemList 条目

您需要使用itemListElement 属性来提供列表条目:

{
  "@context": "http://schema.org/",
  "@type": "ItemList",
  "itemListElement": [
    {
      "@type": "CreativeWork"
    },
    {
      "@type": "CreativeWork"
    },
    {
      "@type": "CreativeWork"
    }
  ]
}

【讨论】:

    猜你喜欢
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-05
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多