它们都具有相同的目的:为语义标记提供词汇。模式已得到认可和标准化……但是微格式标准是通过开放社区流程进行的。
模式使用文档中的微数据,而微格式则用于类。(值得注意的是:微数据意味着一个元素必须是单个itemtype
,而微格式允许将多个类应用于同一元素。我可以使用类而不是微数据标记xFolk + hAtom。)
这是黑白情况吗?谷歌说我不能同时使用两者,因为它可能会混淆解析器。
对此有什么共识?
它们都具有相同的目的:为语义标记提供词汇。模式已得到认可和标准化……但是微格式标准是通过开放社区流程进行的。
模式使用文档中的微数据,而微格式则用于类。(值得注意的是:微数据意味着一个元素必须是单个itemtype
,而微格式允许将多个类应用于同一元素。我可以使用类而不是微数据标记xFolk + hAtom。)
这是黑白情况吗?谷歌说我不能同时使用两者,因为它可能会混淆解析器。
对此有什么共识?
Answers:
tl; dr,这是在HTML5文档中语义注释内容的三种方式:
Schema.org是词汇表的集合(可以与各种语法一起使用,包括Microdata和RDFa,但不能使用 Microformats),所以这个问题应该是:Microdata vs. Microformats?为什么不邀请RDFa参加聚会呢?
RDFa的和微观数据是不一样的,但概念性相似。但是,微格式与这两种格式有很大的不同。
如果您的唯一目的是增强搜索引擎中搜索结果的显示,那么选择哪种标记方式都没关系(只要它受搜索引擎支持即可)。但是,“语义标记”当然可以提供更多的功能:构建语义网。并非没有原因,微格式与术语“小写语义网”有关,而RDFa与“大写语义网”有关(微数据是一种较新的语法,但它适合大写变体)。
主要区别:可扩展性。RDFa和Microdata使用URI,Microformats使用特定的类名(用于HTML的class
属性)和链接类型(用于HTML的rel
属性)。这意味着:
谷歌说我不能同时使用两者,因为它可能会混淆解析器。
我不会因此而阻止我实现几种标记方式。此外,Google 在聊天中还撤销了该声明。
更新:在Google的结构化数据文档中,没有地方说他们无法在同一文档中处理不同的语法。如果使用多种语法,他们的测试工具不会报告任何错误。
另请参阅有关堆栈溢出的相关问题:
Google的结构化数据测试仪显示了其解析器如何很好地识别它们的存在。Schema.org文档偏向于WHATWG HTML5编辑器在Google内部发明的微数据。它在RDFa精简版本单词前面加上“ item”作为前缀。property = itemprop,依此类推。此外,HTML5也不支持该功能。
RDFa初始上下文http://www.w3.org/2011/rdfa-context/rdfa-1.1允许使用schema:前缀,因此请放心作为RDFa使用,尽管缺乏偏向于模式的偏见也可以将其视为语义网。
词汇表从W3管辖范围之外的领域解决语义方面的问题。初始上下文通过识别用于法律事务的cc和许可证,用于社交网络的og等来说明这一点。与领域相关的方面相比,搜索是更重要的方面,因此架构词汇涵盖的方面从webPagElement到地理地图和taxID。其相同之处在于,针对面向人类用户的每个单词,赋予机器以字典意义。尽管主要搜索参与者在词汇表方面都达成了共识,但对于如何将这种结构化数据推入用户查询的结果却缺乏承诺。到目前为止,在Google搜索结果中仅能看到评分,并且大多数情况下具有误导性。
微格式解决了不可分割的重复使用案例。对于较大的用例,RDFa可在HTML5和非HTML5页面上使用。而且,如果使用XHTML,则可以通过xslt或grddl等转换相同的语义内容。