小编典典

微数据与RDFa

html

我对RDFa和Microdata有一个快速的问题。

我目前的理解是RDFa是RDF实现到HTML中的,但是对于像我这样的新开发人员来说却很复杂,Microdata看起来确实很容易实现。

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


阅读 630

收藏
2020-05-10

共1个答案

小编典典

微数据和RDFa之间的差异

尽管有很多(技术上的,较小的)差异,但是我认为很重要我以网站站长的回答为基础)。

技术指标

  • 由于W3C的HTML WG 发现没有志愿人员编辑Microdata规范,因此它现在只是 W3C组注释,这意味着没有计划对其进行任何进一步的工作。

因此,WHATWG的“ HTML生活标准”中的“微数据”部分是微数据可能发展的唯一场所。根据更改的内容,它们的微数据可能会与W3C的HTML5不兼容。

更新: 2017年,工作再次开始,旨在将Microdata作为
W3C建议 发布。

  • RDFa作为 _W3C建议书_发布。

适用性

  • 微数据只能在(X)HTML5(由WHATWG定义的 HTML )中使用。

  • RDFa可用于多种宿主语言,即几种(X)HTML变体和XML(因此也可用于SVG,MathML,Atom等)。

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

使用多个词汇

  • 在Microdata中,对同一内容使用多个词汇表比较困难,有时甚至是不可能的。

  • 由于使用了前缀,RDFa允许混合词汇。

反向属性的使用

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

尽管 RDF 的W3C注意 微数据 定义了实验性功能itemprop-reverse,但此属性不是W3C或WHATWG的微数据的一部分。

  • RDFa支持使用反向属性(带有rev属性)。

语义网

  • 通过使用Microdata,您不会直接参与语义Web(而AFAIK Microdata并没有这样做),主要是因为它没有定义为RDF序列化(尽管有许多方法可以从Microdata中提取RDF)。

  • RDFa是RDF序列化,而RDF是W3C 语义Web的基础。


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

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

该怎么办?

如果要支持特定使用者(例如,搜索引擎和浏览器加载项),则应查看其有关受支持语法的文档。

如果您只想学习一种语法并且没有特定的使用对象,(请 注意,主观意见!
)可以使用RDFa。为什么?

  • RDFa多年来已经成熟,并且是W3C Rec,而Microdata是一个相对较新的发明,并且未被W3C标准化。
  • RDFa可以用于多种语言,而不仅限于HTML5。
  • RDFa允许将相同内容的词汇混合使用,它本身支持反向属性的使用。

不能决定?同时使用。

请注意,您还可以使用多种语法相同内容,所以你可以有微数据
RDFa的( 微格式, 以及 JSON-LD, 以及 …)的最大兼容性。

  • 这是一个简单的Microdata代码段:

    <p itemscope itemtype="http://schema.org/Person">
    

    John Doe is his name.

  • 这是使用RDFa(精简版)的相同代码段:

    <p typeof="schema:Person">
    

    John Doe is his name.

  • 两种语法在这里一起使用:

    <p itemscope itemtype="http://schema.org/Person" typeof="schema:Person">
    

    John Doe is his name.

但是通常不必/不建议沿着这条路线走。

2020-05-10