使用自己的 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 来自你自己的词汇。
我想创建一个 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 来自你自己的词汇。