首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微数据与RDFa

微数据与RDFa
EN

Stack Overflow用户
提问于 2012-01-22 08:12:00
回答 5查看 21.3K关注 0票数 71

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

我目前的理解是,RDFa是在超文本标记语言中实现的RDF,但对于像我这样的新开发人员来说很复杂,Microdata似乎真的很容易实现。

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-09-17 18:41:22

微数据与RDFa的区别

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

规格说明

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

因此,WHATWG的“超文本标记语言生活标准”中的Microdata section是微数据可能发展的唯一地方。根据更改的内容,它们的微数据可能会变得与W3C的HTML5不兼容。

更新:在2017年,work started again,目标是以 Recommendation.

  • RDFa的形式发布微数据,发布为.

适用性

  • 微数据只能在(X)HTML5中使用由WHATWG).
  • RDFa定义的超文本标记语言可用于各种宿主语言,即若干(X)超文本标记语言变体和可扩展标记语言(因此也可用于SVG、MathML、Atom等)。

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

使用多种词汇表

在微数据中,使用多个词汇表来表示相同的content.

  • Thanks比使用前缀更困难,有时甚至是不可能的。RDFa允许混合使用vocabularies.

反向属性的使用

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

虽然W3C Note to RDF微数据定义了实验性的itemprop-reverse,但此属性不是W3C的一部分,WHATWG微数据集也不支持反向属性的使用(使用WHATWG

语义网

RDF通过使用微数据,您并没有直接参与语义Web ( AFAIK Microdata也不打算这样做),主要是因为它没有被定义为

  • 序列化(尽管有很多方法可以将RDF定义为RDF序列化,而RDF是W3C的RDF的基础

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

与微数据类似的是 (它“确实适用于大多数日常需求”),而且这个规范,至少在我看来,比微数据简单得多。

该怎么办呢?

如果您希望支持特定的使用者(例如,搜索引擎和浏览器附加组件),则应查看其文档中支持的语法。

如果您只想学习一种语法,并且头脑中没有特定的消费者,(注意,主观观点!)使用RDFa。Why?

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

不能决定吗?两者都使用。

注意,对于相同的内容,可以使用you can also use several syntaxes,因此可以使用Microdata和RDFa (以及微格式、JSON-LD和…)以获得最大的兼容性。

这里是一个简单的微数据snippet:

  • Here’s使用RDFa (精简版)的相同代码段:

  • ,这里两个语法一起使用:

但通常没有必要/推荐走这条路。

票数 101
EN

Stack Overflow用户

发布于 2012-01-30 23:56:25

您从任何语义格式获得的主要优势是消费者能够重用您的数据。

例如,像Google这样的搜索引擎是重用您的数据来显示富片段的消费者,例如:

为了决定哪种格式是最好的,你需要知道你想要瞄准哪些消费者。例如,谷歌在他们的FAQ中表示,他们将只处理微数据(尽管测试工具现在可以与RDFa一起工作,因此他们有可能接受RDFa)。

除非您知道您的目标消费者只接受RDFa,否则您最好使用微数据。虽然许多使用RDFa的服务(如语义搜索引擎Sindice)也接受微数据,但使用微数据的服务不太可能接受RDFa。

票数 30
EN

Stack Overflow用户

发布于 2012-01-27 17:07:55

这篇文章很长,但对这个问题你能得到的最全面的答案之一是Jeni Tennison的这篇博客文章:Microdata and RDFa Living Together in Harmony

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8957902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档