使用自己的 RDF Schema 添加 RDFa

Add RDFa using own RDF Schema

我想创建一个 RDFS ontology 来描述一些特定的 类 和属性。然后我想用我在 RDFS 中定义的词汇将 RDFa 添加到 HTML 中。我知道我们需要为 RDFa 中的词汇表提供 URL,但我不确定将我的 RDFS 文件放在 Web 应用程序中的什么位置或如何部署 RDFS 文件。

当我用 schema.org 添加 RDFa 时,HTML 就像:

  <div vocab="http://schema.org/" typeof="Person">
  <span property="name">Jane Doe</span>
  <img src="janedoe.jpg" property="image" alt="Photo of Jane Joe"/>
  <span property="jobTitle">Professor</span>
  <div property="address"  typeof="PostalAddress">
    <span property="streetAddress">
      20341 Whitworth Institute
      405 N. Whitworth
    </span>
    <span property="addressLocality">Seattle</span>,
    <span property="addressRegion">WA</span>
    <span property="postalCode">98052</span>
  </div>
  <span property="telephone">(425) 123-4567</span>
  <a href="mailto:jane-doe@xyz.edu" property="email">
    jane-doe@xyz.edu</a>
  Jane's home page:
  <a href="http://www.janedoe.com" property="url">janedoe.com</a>
  Graduate students:
  <a href="http://www.xyz.edu/students/alicejones.html" property="colleague">
    Alice Jones</a>
  <a href="http://www.xyz.edu/students/bobsmith.html" property="colleague">
    Bob Smith</a>
</div>

开头的HTML

<div vocab="http://schema.org/" typeof="Person">

它使用词汇 Schema.org 表示。

想问一下如何使用自己的RDFS。另外,我如何验证 RDFa 是否正确链接到我的 RDFS 并正确写入

有两种常见的托管方式 vocabulary/ontology:

  • 哈希命名空间(例如,http://example.com/vocabulary#Person
  • 斜线命名空间(例如,http://example.com/vocabulary/Person

W3C 工作组注释 Best Practice Recipes for Publishing RDF Vocabularies contains some recipes,其中说明了示例配置。

让我们假设您使用哈希命名空间,以便完整的词汇表包含在 http://example.com/my-voc 中,而像 "Person" 这样的 class 将具有 URI http://example.com/my-voc#Person.

现在您想在 RDFa 中使用词汇表中的 classes/properties。因此,让我们为您要使用的每个词汇添加一个 prefix(如果您愿意,您也可以继续使用 vocab 作为 "default",无前缀词汇):

<div prefix="schema: http://schema.org/ foo: http://example.com/my-voc#">
</div>

您现在可以将 schema:Person 用于 Schema.org 的 Person class,将 foo:Person 用于 Person class 来自你自己的词汇。