我对RDFa和Microdata有一个快速的问题。
我目前的理解是RDFa是RDF实现到HTML中的,但是对于像我这样的新开发人员来说却很复杂,Microdata看起来确实很容易实现。
这两种语义格式的其他优点和缺点是什么?
尽管有很多(技术上的,较小的)差异,但是我认为很重要我以网站站长的回答为基础)。
因此,WHATWG的“ HTML生活标准”中的“微数据”部分是微数据可能发展的唯一场所。根据更改的内容,它们的微数据可能会与W3C的HTML5不兼容。
更新: 2017年,工作再次开始,旨在将Microdata作为 W3C建议 发布。
微数据只能在(X)HTML5(由WHATWG定义的 HTML )中使用。
RDFa可用于多种宿主语言,即几种(X)HTML变体和XML(因此也可用于SVG,MathML,Atom等)。
并且可以支持新的宿主语言,因为RDFa Core “是用于以任何标记语言表达结构化数据的属性的规范”。
在Microdata中,对同一内容使用多个词汇表比较困难,有时甚至是不可能的。
由于使用了前缀,RDFa允许混合词汇。
parent
child
尽管 RDF 的W3C注意 微数据 定义了实验性功能itemprop-reverse,但此属性不是W3C或WHATWG的微数据的一部分。
itemprop-reverse
rev
通过使用Microdata,您不会直接参与语义Web(而AFAIK Microdata并没有这样做),主要是因为它没有定义为RDF序列化(尽管有许多方法可以从Microdata中提取RDF)。
RDFa是RDF序列化,而RDF是W3C 语义Web的基础。
规范RDFa Core和HTML+RDFa可能比HTMLMicrodata更为复杂,但这并不是“公平”的比较,因为它们提供了更多的功能。
与Microdata相似的是RDFa Lite(“可以满足大多数日常需求”),并且至少在我看来,此规范比Microdata复杂得多。
如果要支持特定使用者(例如,搜索引擎和浏览器加载项),则应查看其有关受支持语法的文档。
如果您只想学习一种语法并且没有特定的使用对象,(请 注意,主观意见! )可以使用RDFa。为什么?
请注意,您还可以使用多种语法相同内容,所以你可以有微数据 和 RDFa的( 和 微格式, 以及 JSON-LD, 以及 …)的最大兼容性。
这是一个简单的Microdata代码段:
<p itemscope itemtype="http://schema.org/Person">
John Doe is his name.
这是使用RDFa(精简版)的相同代码段:
<p typeof="schema:Person">
两种语法在这里一起使用:
<p itemscope itemtype="http://schema.org/Person" typeof="schema:Person">
但是通常不必/不建议沿着这条路线走。