混合词汇表、Google 的结构化数据测试工具和 Schema.org 扩展
Mixing vocabularies, Google's structured data testing tool and Schema.org extensions
我们正在使用多个词汇表以及 schema.org,并与 Google 的结构化数据测试工具作斗争。甚至可以在混词的时候完全平息吗?
我们使用的一些 classes 和属性是 classes 的特化和 schema.org.
的属性
我已经阅读了有关扩展机制的页面。我完全不清楚外部扩展到底是什么。我完全不清楚是否以及如何与 Google 沟通 class/property 是 schema.org class/property 的特化(因此 Google使用 RDFS 推理获取涉及 schema.org 命名空间的语句。
我用的例子是http://www.netestate.de/imgtag_schema_example/lio.html
该页面中的 RDFa 描述了显示的图像。源中的 <img>
标记具有 typeof
属性。
如果我使用 typeof="lio:Image"
,我会收到 1 个关于 lio:Image 不为 Google 所知的错误。说得通。验证 URL: http://www.netestate.de/imgtag_schema_example/lio.html
如果我使用 typeof="lio:Image schema:ImageObject"
,我会得到完全相同的错误。验证URL:http://www.netestate.de/imgtag_schema_example/lioschema.html
如果我使用 typeof="schema:ImageObject"
,我会收到 19 个关于未识别为与 ImageObject 兼容的属性的错误。验证 URL: http://www.netestate.de/imgtag_schema_example/schema.html
如果我使用 typeof="schema:ImageObject lio:Image"
,我会收到 1 个关于 class 的错误,但 Google 不知道(class 未命名但是 "ImageObject" 是红色的!)。验证 URL: http://www.netestate.de/imgtag_schema_example/schemalio.html
如果我使用 typeof="lio:Image" 并将语句 lio:Image rdfs:subClassOf schema:ImageObject 添加到 RDFa,验证器将关于 http 和冒号的三元组分开;//purl.org/net/lio#Image ("class not defined, no errors") 和图像(未知 class #__sid=rd0,1 个错误)。验证URL:http://www.netestate.de/imgtag_schema_example/liosubclass.html
相对 URI #__sid=rd0
来自哪里?
为什么在这个更简单的示例中缺少关于 #__sid=rd0
的错误?
不要让任何 Google 结构化数据测试工具关于未知词汇的投诉打扰您。它的主要目的是帮助出版商了解他们何时使用 Google products/features 期望和使用的结构。通常它只会理解 schema.org 部分(并且不会利用其他词汇表的子类型)。您可能会发现使用 additionalType 属性 有助于消除一些错误。 __sid=rd0 ID 只是为 RDF 认为图中的 'blank node' 生成的 URI。
我们正在使用多个词汇表以及 schema.org,并与 Google 的结构化数据测试工具作斗争。甚至可以在混词的时候完全平息吗?
我们使用的一些 classes 和属性是 classes 的特化和 schema.org.
的属性我已经阅读了有关扩展机制的页面。我完全不清楚外部扩展到底是什么。我完全不清楚是否以及如何与 Google 沟通 class/property 是 schema.org class/property 的特化(因此 Google使用 RDFS 推理获取涉及 schema.org 命名空间的语句。
我用的例子是http://www.netestate.de/imgtag_schema_example/lio.html
该页面中的 RDFa 描述了显示的图像。源中的 <img>
标记具有 typeof
属性。
如果我使用
typeof="lio:Image"
,我会收到 1 个关于 lio:Image 不为 Google 所知的错误。说得通。验证 URL: http://www.netestate.de/imgtag_schema_example/lio.html如果我使用
typeof="lio:Image schema:ImageObject"
,我会得到完全相同的错误。验证URL:http://www.netestate.de/imgtag_schema_example/lioschema.html如果我使用
typeof="schema:ImageObject"
,我会收到 19 个关于未识别为与 ImageObject 兼容的属性的错误。验证 URL: http://www.netestate.de/imgtag_schema_example/schema.html如果我使用
typeof="schema:ImageObject lio:Image"
,我会收到 1 个关于 class 的错误,但 Google 不知道(class 未命名但是 "ImageObject" 是红色的!)。验证 URL: http://www.netestate.de/imgtag_schema_example/schemalio.html如果我使用 typeof="lio:Image" 并将语句 lio:Image rdfs:subClassOf schema:ImageObject 添加到 RDFa,验证器将关于 http 和冒号的三元组分开;//purl.org/net/lio#Image ("class not defined, no errors") 和图像(未知 class #__sid=rd0,1 个错误)。验证URL:http://www.netestate.de/imgtag_schema_example/liosubclass.html
相对 URI #__sid=rd0
来自哪里?
为什么在这个更简单的示例中缺少关于 #__sid=rd0
的错误?
不要让任何 Google 结构化数据测试工具关于未知词汇的投诉打扰您。它的主要目的是帮助出版商了解他们何时使用 Google products/features 期望和使用的结构。通常它只会理解 schema.org 部分(并且不会利用其他词汇表的子类型)。您可能会发现使用 additionalType 属性 有助于消除一些错误。 __sid=rd0 ID 只是为 RDF 认为图中的 'blank node' 生成的 URI。