4

W3C 的 RDF Turtle 文档中,我遇到了两个将电子邮件地址用作 IRI 的示例(16 和 17):

_:b <http://xmlns.com/foaf/0.1/mbox> <bob@example.com> .

据我了解,电子邮件地址在以适当的方案开头时被允许作为URI,即mailto:bob@example.com. 如果上面示例中的电子邮件地址应该是一个有效的 URI,那么该语句实际上应该是:

_:b <http://xmlns.com/foaf/0.1/mbox> <mailto:bob@example.com> .

这是文档中的错误还是 IRI(与 URI 相对)不需要方案?

4

1 回答 1

3

虽然我认为在这些示例中使用类似mailto:bob@example.org的内容更有意义,但它们似乎在语法上仍然合法。它们只是被解析为相对于基础的相对 URI。例如,当我使用 Jena 的 rdfcat 从 Turtle 转换时,我得到以下 Turtle 和 RDF/XML 输出。

@prefix : <urn:ex:> .
@base <http://example.org> .

:a :hasEmail <bob@example.org>.

Turtle 和 RDF/XML 输出:

@prefix :      <urn:ex:> .

:a      :hasEmail  <http://example.org/bob@example.org> .
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="urn:ex:">
  <rdf:Description rdf:about="urn:ex:a">
    <hasEmail rdf:resource="http://example.org/bob@example.org"/>
  </rdf:Description>
</rdf:RDF>
于 2016-02-19T13:41:20.553 回答