gpt4 book ai didi

html - 微数据与 RDFa

转载 作者:技术小花猫 更新时间:2023-10-29 11:32:18 26 4
gpt4 key购买 nike

我有一个关于 RDFa 和微数据的快速问题。

我目前的理解是 RDFa 是在 HTML 中实现的 RDF,但对于像我这样的新开发人员来说很复杂,微数据似乎很容易实现。

这两种语义格式的其他优缺点是什么?

最佳答案

微数据和 RDFa 之间的差异

虽然有很多(技术上的、较小的)差异,但这里有一些我认为重要的选择(使用 my answer on Webmasters 作为基础)。

规范

  • 作为 W3C 的 HTML WG found no volunteer编辑微数据规范,是 now merely a W3C Group Note (请参阅 history ),这意味着没有对其进行任何进一步工作的计划。

    所以Microdata section在 WHATWG 的“HTML 生活标准”中,微数据可以发展的唯一地方。根据更改的内容,他们的微数据可能会与 W3C 的 HTML5 不兼容。

    更新: 2017年work started again ,旨在将微数据作为 W3C 推荐标准发布。
  • RDFa 发布为 W3C Recommendation .

  • 适用性
  • 微数据只能在 (X)HTML5(分别由 WHATWG 定义的 HTML)中使用。
  • RDFa 可用于各种宿主语言,即多种 (X)HTML 变体和 XML(因此也可用于 SVG、MathML、Atom 等)。

    并且可以支持新的宿主语言,如 RDFa Core “是以任何标记语言表达结构化数据的属性规范”。

  • 使用多种词汇
  • 在 Microdata 中,对于相同的内容使用多个词汇表更困难,有时甚至是不可能的。
  • 由于使用前缀,RDFa 允许混合词汇。

  • 反向属性的使用
  • 微数据不提供使用反向属性的方法。对于没有定义逆属性的词汇表,你需要这个(例如,它们只定义 parent 而不是 parent & child )。流行的 Schema.org 就是这样一个词汇表(只有一些较旧的异常(exception))。

    而 W3C Note Microdata to RDF 定义了实验性 itemprop-reverse ,此属性不是 W3C 或 WHATWG 微数据的一部分。
  • RDFa 支持使用反向属性(使用 rev attribute )。

  • 语义网
  • 通过使用微数据,您不会直接参与语义网(AFAIK 微数据也不打算这样做),主要是因为它没有被定义为 RDF 序列化(尽管有方法可以实现 extract RDF from Microdata)。
  • RDFa 是一个 RDF序列化,RDF 是 W3C 的基础 Semantic Web .


  • 规范 RDFa CoreHTML+RDFa可能比 HTML Microdata 更复杂,但这不是“公平”的比较,因为它们提供了更多功能。

    与微数据类似的是 RDFa Lite (“确实可以满足大多数日常需求”),并且至少在我看来,该规范比 Microdata 复杂得多。

    该怎么办?

    如果您想支持特定的消费者(例如,搜索引擎和浏览器插件),您应该查看他们关于支持语法的文档。

    如果您只想学习一种语法并且没有特定的消费者,(注意,主观意见!)请选择 RDFa。 Why?
  • RDFa 多年来已经成熟并且是 W3C 的规范,而 Microdata 是一个相对较新的发明并且没有被 W3C 标准化。
  • RDFa 可用于多种语言,不仅仅是 HTML5。
  • RDFa 允许混合使用相同内容的词汇表,并且它本身支持反向属性的使用。

  • 不能决定?两者都用。

    请注意 you can also use several syntaxes对于相同的内容,您可以使用微数据和 RDFa(以及微格式、JSON-LD 和……)以获得最大的兼容性。
  • 这是一个简单的微数据片段:

    <p itemscope itemtype="http://schema.org/Person">
    <span itemprop="name">John Doe</span> is his name.
    </p>
  • 这是使用 RDFa (Lite) 的相同片段:

    <p typeof="schema:Person">
    <span property="schema:name">John Doe</span> is his name.
    </p>
  • 这里两种语法一起使用:

    <p itemscope itemtype="http://schema.org/Person" typeof="schema:Person">
    <span itemprop="name" property="schema:name">John Doe</span> is his name.
    </p>

  • 但通常没有必要/建议沿着这条路线走下去。

    关于html - 微数据与 RDFa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8957902/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com