【问题标题】:How to to use multiple Vocabularies with HTML5 Microdata (different vocab than schema.org)如何在 HTML5 微数据中使用多个词汇(与 schema.org 不同的词汇)
【发布时间】:2014-03-12 12:51:43
【问题描述】:

假设我有这个有效的微数据增强 HTML sn-p:

<div itemscope itemtype="http://schema.org/Corporation">
  <div itemprop="legalName">Example</div>
</div>

(我已经用 google 的结构化数据测试工具对此进行了测试。)

现在我想添加一个在 schema.org 中不可用但在不同词汇中的属性(在这种情况下是 W3C 注册的 Org Vocab [1]):

<div itemscope itemtype="http://schema.org/Corporation">
  <div itemprop="legalName">Example</div>
  <div itemprop="http://www.w3.org/ns/regorg#registration">XXX</div>
</div>

至少谷歌声称:

Error: Page contains property "http://www.w3.org/ns/regorg#registration" which is not part of the schema.

我可以删除 itemtype,但我不希望这样做,因为它会降低保真度 [2] 没有其他方法可以做到这一点吗?使用 RDFa 不会有问题。

编辑

我发现 [3] 建议复制内容,但这显然不是一个好的解决方案。

[1]http://www.w3.org/TR/vocab-regorg/#ref_rov_registration

[2]Using itemprop without itemtype

[3]http://www.w3.org/wiki/Mixing_HTML_Data_Formats#Mixing_Vocabularies_using_Repeated_Content

【问题讨论】:

    标签: microdata schema.org vocabulary


    【解决方案1】:

    微数据(W3C 注释)定义 which values itemprop may have

    始终允许使用绝对 URI 作为itemprop 值。

    除非一个词汇表(如 schema.org)指定在此上下文中使用 http://www.w3.org/ns/regorg#registration 值(“[…] 在此情况下由词汇规范允许”),否则它将是

    [...] 专有项目属性名称(即作者出于私人目的使用的名称,未在公共规范中定义)

    Google 的结构化数据测试工具不是验证器。它的主要关注点是报告有关 Google 私人使用 schema.org 的警告,这就是为什么您也可能会收到有关缺少“必需”属性的警告(但根本没有 schema.org doesn’t define any required properties)。

    FWIW,Yandex’ Structured data validator 没有报告使用绝对 URI 作为值的问题。

    【讨论】:

    • Google 的“测试工具”确实声称缺少某个属性,它抱怨该属性在架构中不是未知的 [.org 我猜]。您知道词汇表如何不允许使用项目属性名称吗?我不确定这是正式的还是散文的。除此之外,我认为你是对的,关于规范,我的第二个例子应该是有效的。
    • @vanthome:关于所需属性:这只是一个示例,用于解释 Google 的测试工具报告了许多不一定与 正确 使用有关的事情schema.org 的。 -- 我认为词汇表没有办法disallow 类似的东西(词汇表可以记录一些没有意义的东西等,但这通常不是规范要求,取而代之的是信息指南)。
    猜你喜欢
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2018-01-07
    • 2023-01-27
    相关资源
    最近更新 更多