微数据与RDFa
我对RDFa和Microdata有一个快速的问题。
我目前的理解是RDFa是RDF实现到HTML中的,但是对于像我这样的新开发人员来说却很复杂,Microdata看起来确实很容易实现。
这两种语义格式的其他优点和缺点是什么?
回答:
回答:
尽管有很多(技术上的,较小的)差异,但是我认为很重要我以网站站长的回答为基础)。
技术指标
- 由于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
而不是parent
&child
),您需要此词汇。流行的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相似的是(“可以满足大多数日常需求”),并且至少在我看来,此规范比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.
但是通常不必/不建议沿着这条路线走。
以上是 微数据与RDFa 的全部内容, 来源链接: utcz.com/qa/417395.html