@base 和空前缀之间的 Turtle 区别
Turtle difference between @base and empty prefix
在 RDF-Turtle 中,使用 @base
前缀和空前缀(仅 :
)有什么区别?
@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 和前缀名称的简单方法:前者周围有 <>
个方括号。
在 RDF-Turtle 中,使用 @base
前缀和空前缀(仅 :
)有什么区别?
@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 和前缀名称的简单方法:前者周围有 <>
个方括号。