64

我一直想知道哪些格式是“最好的”?Schema.org、Microdata 和 RDFa 实施起来有点麻烦。他们可能会破坏验证,并且需要付出相当大的努力才能投入到文档中。

JSON-LD 最后对我来说是一种更好地实现结构化数据的方法。但它有效吗?它有什么级别的支持(至少是谷歌)?

4

6 回答 6

51

Schema.org 是一个可以像任何其他词汇表一样以多种形式使用的词汇表。网站http://schema.org/提供了使用Microdata和 RDF 语法RDFaJSON-LD的示例,但它们并不是唯一可以使用的语法。例如,您可以将它与任何其他RDF语法(如TurtleRDF/XML )一起使用。

没有最好的语法。它们都有优点和缺点。例如,请参阅我关于Microdata 和 RDFa 之间差异的回答。请注意,您可以在同一文档中使用不同的语法(和词汇) 。

现在,如果您有特定的消费者,您应该查阅他们的文档。然而,对语法的支持来来去去,并不是它们可能支持的所有东西都必须记录在案,也不是所有记录在案的东西都一定有效。

如果是 Google,您可能对他们的Rich Snippets感兴趣。他们关于 Rich Snippets 的文档提到了 Microdata、Microformats 和 RDFa。但是,请注意,并非所有链接示例都使用 Schema.org 词汇表,而是使用较旧的 Data-vocabulary.org 或 Microformats(因为您不能将 Schema.org 或 Data-vocabulary.org 等词汇表与 Microformats 一起使用)。还有一些没有在该页面上列出的丰富片段,例如附加链接搜索框,他们甚至推荐使用 JSON-LD 语法。

作为一般建议:搜索引擎通常更喜欢可见的内容而不是隐藏的元数据。例如,将关键字作为隐藏元数据很容易让作者声称他们的文档与实际情况不同(要么是因为试图欺骗搜索引擎,要么是因为作者忘记在这两个地方更新内容)。因此,将元数据与内容分离,就像 JSON-LD 的情况一样,可能(可能!)导致当前搜索引擎在隐藏元数据方面遇到的相同问题。(如果或哪些搜索引擎真的像那样处理它是一个问题,这在 Stack Overflow 上是题外话。)

将元数据与内容(例如,使用 RDFa)耦合的另一个可能的优势是,您可以轻松自动地在 JSON-LD、Turtle 等中生成相同的信息,因为一切都只是 RDF。只需解析 RDFa,转换为您喜欢的格式,并在有意义的情况下嵌入(in script)或链接(with rel- )。alternate

但是,是的,添加 RDFa 通常比添加 JSON-LD blob 更复杂,因为您必须使其适应现有标记。(但是,除非您犯了错误,否则它不应“破坏验证”。)

于 2014-11-13T16:05:08.207 回答
16

MicrodataRDFaJSON-LD之间的界限目前确实非常模糊,并且在这三者之间仍然没有被广泛接受的事实。这将不得不等待现在。也许几年或更长时间。

同时,Microdata 不应像您提到的那样用 Schema.org 标记,因为这两者是不同的东西。Schema.org 是一个词汇表,因此可用于 Microdata、RDFa 和 JSON-LD。

使用Schema.org作为词汇表并使用JSON-LD作为数据表示可能是最受期待的对,因为它们有两个共同点:

  1. 易于人类阅读;和
  2. 轻量级机器可读

但即便如此,两者之间仍然存在断开连接,就像这个例子一样。

关于 JSON-LD 支持,由于Bing、Google、Yahoo! 和 Yandex承认使用 schema.org,那么可以肯定地说他们也支持它,就像在这个例子中一样。

2017 更新

在过去的两三年里,谷歌一直非常积极地推广 JSON-LD-schema.org。

于 2015-04-25T19:03:41.760 回答
10

谷歌似乎倾向于使用 JSON-LD,但它并没有为每个用例实现它!

Google 正在将 JSON-LD 支持添加到更多基于标记的功能中。到目前为止,所有知识图谱功能、站点链接搜索框、事件丰富片段和食谱丰富片段都支持 JSON-LD;Google 建议对这些功能使用 JSON-LD。对于其余的 Rich Snippets 类型和面包屑,Google 建议使用微数据或 RDFa。

http://developers.google.com/structured-data/schema-org

于 2015-10-06T10:23:10.210 回答
6

Google 使用 JSON-LD 作为其知识图谱(公司和人员)的结构化数据 SEO 的参考示例。请参阅https://developers.google.com/structured-data/customize/overview

我个人将 JSON-LD 和 Microdata 组合用于我的网站(暂时)。

我想说他们有其他方法来确定您通过 JSON-LD 提供的信息是否与他们的搜索引擎相关(例如检查您的页面实际上是在谈论它声称谈论的内容)。

于 2015-05-05T14:49:43.380 回答
5

(更新答案!)

关于“人气”,请看这个问题/答案

今天的微数据最受欢迎:在 3400 万个域中,563 万(~17%)使用RDFa(90 万)的“内容标记”(我将使用行话标记),微数据(250 万)或微格式,不到一半使用分离的语义描述符,注意到最流行的是 JSON-LD,有 212 万(6%)。
PS:我们更喜欢“每域统计”(而不是每页统计),因为同一域中的页面通常具有相同的模板和其他本地权威约定强制执行。

在“表达语义的领域”(775 万)的宇宙中,统计概况是:

  • 73% 标记语义
  • 27% 分离语义
  • (...作为混合“分隔+标记”的交集可以为零以简化...)

2017年的经验法则

对Microdata使用标记语义然后,如果您需要向机器表达更多内容,请使用JSON-LD


使用标记语义,因为它是最流行的,并且因为标记的内容将由人和机器同时验证/审核。

重要提示:请记住,Microdata、RDFa(W3C 标准)和 JSON-LD(W3C 标准)可以(轻松)转换为 RDF,因此所有这些格式都是兼容的。


PS:对于 HTML 表格,另见W3C 的 tabular-metadata。对于打开的非 HTML 资源,如CSV 文件,使用 RDF 兼容的 W3C 的 tabular-data-model和/或 摩擦数据/规格

于 2017-05-14T06:22:26.270 回答
1

从头开始,JSON-LD 将是要走的路。让我们让JSON-LD 的主要创建者之一Manu Sporny 参与进来:

对更好的 Web API 的渴望是创建 JSON-LD 的动力,而不是语义 Web。如果你想让语义网成为现实,不要再为它辩护,而是把时间花在做一些更有用的事情上,比如让机器更智能,或者帮助人们以对他们有用的方式发布数据。

JSON-LD 就是以有用/易于实现的方式发布数据,因为...

它基于当今大多数 Web 开发人员使用的技术。

于 2018-01-29T14:41:14.307 回答