可以嵌套(如果可能)JSON-LD schema.org 参考吗?

Is it ok to nest (when possible) JSON-LD schema.org reference?

搜索引擎是否对这两个示例一视同仁?
如果是,是否有理由选择一个而不是另一个?
如果不是,有什么区别?

非嵌套结构化数据:

[{
    "@context": "http://schema.org",
    "@type": "WebPage",
    ...
},{
    "@context": "http://schema.org",
    "@type": "BreadcrumbList",
    ...
},{
    "@context": "http://schema.org",
    "@type": "VideoObject",
    ...
}]

嵌套结构化数据:

[{
    "@context": "http://schema.org",
    "@type": "WebPage",
    "breadcrumb": {
        "@type": "BreadcrumbList", 
        ...
    },
    "video": {
        "@type": "VideoObject",
        ...
    },
    ...
}]

它们不等价。

第一个例子仅表示存在三个实体:a WebPage、a BreadcrumbList 和 a VideoObject。但他们没有任何关系。

第二个示例表示存在三个实体(与第一个示例相同),但它们是相关的(由于使用了属性 breadcrumb and video):Webpage 实体具有面包屑和一个嵌入式视频。

所以使用第二个例子当然更可取

请注意,您不必嵌套来表达这一点。您还可以使用第一个示例中的结构并为每个节点提供一个 URI(使用 @id),然后使用这些 URI 作为属性的值 (example)。但消费者可能会更好地支持嵌套。