SPARQL运算符';'的含义

时间:2013-08-13 16:25:44

标签: sparql

'是什么';' WHERE子句中的运算符在SPARQL中意味着什么?

例如:

SELECT ?x ?y
WHERE { ?z foaf:name ?x ; :surname ?y }

什么;算子意味着什么?就像一个逻辑,这意味着这部分

  

?z foaf:

之前:姓氏再次?

1 个答案:

答案 0 :(得分:24)

它不是SPARQL运算符,而是SPARQL中三重模式的语法的一部分。完整规范在SPARQL规范的4.2 Syntax for Triples部分中。小节 4.2.1谓词 - 对象列表描述了;符号:

  

可以编写具有共同主题的三重模式   主题只写一次,用于多个三联   使用“;”模式符号

?x  foaf:name  ?name ;
    foaf:mbox  ?mbox .
     

这与编写三重模式相同:

?x  foaf:name  ?name .
?x  foaf:mbox  ?mbox .

您可能还对 4.2.2对象列表

小节感兴趣
  

如果三重模式共享主语和谓词,则对象可以   用“,”隔开。

?x foaf:nick  "Alice" , "Alice_" .
     

与编写三重模式相同:

?x  foaf:nick  "Alice" .
?x  foaf:nick  "Alice_" .
     

对象列表可以与谓词对象列表结合使用:

?x  foaf:name ?name ; foaf:nick  "Alice" , "Alice_" .
     

相当于:

?x  foaf:name  ?name .
?x  foaf:nick  "Alice" .
?x  foaf:nick "Alice_" .

在RDF的Turtle和N3序列化中使用相同的语法。有关Turtle的信息,请参阅2.3 Abbreviating groups of triples

  

该符号可用于重复仅在对象RDF术语中不同的三元组的主语和谓词。 ......符号可用于重复三元组​​的主语,仅在谓词和对象RDF术语中有所不同。

,对于N3,请参阅Semantics部分,其中包含:

  

在财产清单中,分号;是重复主题的简写。在对象列表中,是重复动词的简写。