@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 和前缀名称的简单方法:前者周围有 <> 个方括号。