6

RDF-Turtle@base中,使用前缀和空前缀(仅使用 )有什么区别:

4

1 回答 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 回答