4

我无法确定我是否使用 RDFa 和 schema.org 博客类型正确完成了操作。我的博客曾经有一个看起来像这样的帖子列表:

<h2><a href="essays/why-orm-divides-us.html">Why ORM Divides Us</a></h2>
<h2><a href="essays/heretic-calculus.html">A Heretical Calculus</a></h2>

在尝试使用 RDFa 信息(特别是BlogBlogPosting类型)来扩充它时,我想出了这个:

<div vocab="http://schema.org/" typeof="Blog">
  <h2 property="blogPosting" typeof="BlogPosting" resource="essays/why-orm-divides-us.html">
    <a property="url" href="essays/why-orm-divides-us.html">
      <span property="name">Why ORM Divides Us</span>
    </a>
  </h2>
  <h2 property="blogPosting" typeof="BlogPosting" resource="essays/heretic-calculus.html">
    <a property="url" href="essays/heretic-calculus.html">
      <span property="name">A Heretical Calculus</span>
    </a>
  </h2>
  ...

据我使用 Google Rich Snippets Testing Tool 可以判断,这看起来解析正确,但我无法确定。我还有另外两个尝试:

<div vocab="http://schema.org/" typeof="Blog">
  <h2 property="blogPosting" typeof="BlogPosting" resource="essays/why-orm-divides-us.html">
    <a href="essays/why-orm-divides-us.html" property="name">Why ORM Divides Us</a>
  </h2>
  <h2 property="blogPosting" typeof="BlogPosting" resource="essays/heretic-calculus.html">
    <a href="essays/heretic-calculus.html" property="name">A Heretical Calculus</a>
  </h2>
  ...

<div vocab="http://schema.org/" typeof="Blog" rel="blogPosting">
  <h2 typeof="BlogPosting" resource="essays/why-orm-divides-us.html">
    <a property="url" href="essays/why-orm-divides-us.html">
      <span property="name">Why ORM Divides Us</span>
    </a>
  </h2>
  <h2 typeof="BlogPosting" resource="essays/heretic-calculus.html">
    <a property="url" href="essays/heretic-calculus.html">
      <span property="name">A Heretical Calculus</span>
    </a>
  </h2>
  ...

所以我要求提供几条信息:

  1. 你如何判断你是否符合这些模式之一?
  2. 我的哪个选择是正确的,为什么?
  3. 为什么我在链接上时似乎需要直接指定资源?
  4. 为什么<a>RDFa 演示工具和 Google Rich Snippets 测试工具中的标签解析如此不同?
4

1 回答 1

4

您的第一个片段是正确的,我建议使用它。第二个不正确,因为 property="name" 将针对 href 值,所以不要使用那个。第三个也是正确的,它使用了 RDFa 的一个更高级的特性,称为链接(通过 rel 属性)。如果您愿意,使用它是完全有效的,谷歌也理解它。

  1. 我不知道有任何官方 schema.org 验证器,但 Google Rich Snippet 有时会告诉您是否有问题(但并非总是如此)。您还可以使用http://validator.w3.org/nu/http://www.w3.org/2012/pyRdfa/Validator.html验证您的 HTML + RDFa 标记。
  2. 你的第一个和第三个是正确的,第二个是错误的(见上文)。我会推荐第一个。
  3. 好吧,链接的 url 有两个用途,首先它用于识别您在网络上的对象,它还明确用于 schema.org 所需的“url”属性。虽然第二个是 schema.org 特定的属性。
  4. 这是 Google 在 RDFa 语法本身之上添加的东西,纯 RDFa 解析器不会返回像这样分组的值和 href。我猜谷歌这样做是为了方便,但我同意这可能会让人感到困惑。
于 2012-09-08T15:51:55.177 回答