在RDF-Turtle@base
中,使用前缀和空前缀(仅使用 )有什么区别:
?
问问题
1525 次
1 回答
11
@base
不是前缀声明,而是...嗯,基本声明。它声明了一个文档的基本位置,所有相关的 IRI都根据该位置进行解析。@prefix :
是一个前缀声明(在这种情况下为默认或空前缀),所有带有空前缀的前缀名称都将根据该声明进行解析。
尽管它们都是写下 IRI 的两种方式,但相对 IRI 与前缀名称不同。它们遵循不同的语法规则。
例如:
@base <http://example.org/base/>
@prefix : <http://example.org/prefix/>
<name> rdf:type rdf:Property .
:phone rdf:type rdf:Property .
在这个例子name
中是一个相对 IRI。基本声明将用于将其解析为绝对 IRI http://example.org/base/name
。
:phone
不是一个相对的 IRI,而是一个前缀名称(带有一个空前缀)。(空)前缀声明将用于将其解析为绝对 IRI http://example.org/prefix/phone
。
在 Turtle 中区分 IRI 和前缀名称的简单方法:前者有<>
括号。
于 2015-12-08T02:43:28.697 回答