在RDF Turtle documentation from W3C中,我遇到了两个例子(16和17),其中一个电子邮件地址被用作IRI:
_: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)不需要方案?
答案 0 :(得分: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>