sparql 之 Turtle 基础语法

 1.sparql中最除常见的标记符为:#, 他可以跟在一个URI结尾处,也可以是在一行的末尾处作为注释符(相当于c中的注释符 "//" );

    2.一个简单的三元组

    一个简单的三元组由<主-谓-宾>构成,主谓宾之间使用空格分开,且通常在结尾处以一个空格和一个 '.'符号结尾,如下:

<http://example.org/#spiderman> <http://www.perceive.net/schemas/relationship/enemyOf> <http://example.org/#green-goblin> .
<http://example.org/#spiderman> <http://www.perceive.net/schemas/relationship/enemyOf> <http://example.org/#green-goblin> .
<http://example.org/#spiderman> <http://xmlns.com/foaf/0.1/name> "Spiderman" .

第一段代码是一个三元组序列,第二段代码是2个三元组序列,两个三元组序列之间使用了空格+. 符号隔开。

 3.三元组缩写

    在多数情况下,我们经常会遇到两个三元组之间,主语和谓语相同的情况,这时我们可以使用标记符 ,; 对三元组进行缩写。

    分号符(;)常用语主语相同,其他不同的两个三元组情况下,例如:

<http://example.org/#spiderman> <http://www.perceive.net/schemas/relationship/enemyOf> <http://example.org/#green-goblin> ;
                <http://xmlns.com/foaf/0.1/name> "Spiderman" .

上段代码与下面的两个三元组情况是一样的

<http://example.org/#spiderman> <http://www.perceive.net/schemas/relationship/enemyOf> <http://example.org/#green-goblin> .
<http://example.org/#spiderman> <http://xmlns.com/foaf/0.1/name> "Spiderman" .

  IRIs通常是一个绝对或者相对的引用前缀名称(通常以'#'号符结尾,结尾后是一个谓语用词),它必须被'<>'符号给包含,例如:4.IRIs

<http://example.org/#green-goblin>

 IRI<http://example.org/>可以有效的解决谓语相同情况下产生的歧义,例如 谓语是 “const”,它可以表示一个英文单词,也可以是c++里面的一个关键词,如果给它添加一个IRI可以解决这样的歧义,IRI可以是一个有效的网络地址,也可以是其它的路径或者资源。

    IRI可以被直接写出来当然可以被定义为一个变量,关键词 '@prefix'或者'PREFIX'用于定义一个IRI,例如:

PREFIX temp:<http://example.org/#> .
xxx temp:green-goblin xxxx

上段代码的三元组实际为:

<http://example.org/#green-goblin>

参考http://www.w3.org/TR/turtle/#language-features,如果有错,还望大家指正。

你可能感兴趣的:(sparql,Triple,三元组)