Rdf sparql-大括号的使用

Rdf sparql-大括号的使用,rdf,sparql,semantic-web,Rdf,Sparql,Semantic Web,您好,我有一个关于sparql查询的简单问题。 大括号在where子句中有任何作用吗? 例如: 两者之间有区别吗 { ?s1 ab:wasBornIn "Berlin". ?s1 ?p1 ?o1 } { ?s2 ab:someProperty "SomeLiteral". ?s2 ?p2 ?o2 } 及 提前感谢在许多情况下,没有区别 在你给出的例子中,没有区别。这实际上在规范中被称为: 在SPARQL查询字符串中,组图模式用 大括号:{}。例如,此查询的查询模式是一个组图 一

您好,我有一个关于sparql查询的简单问题。 大括号在where子句中有任何作用吗? 例如: 两者之间有区别吗

{
  ?s1 ab:wasBornIn "Berlin".
  ?s1 ?p1 ?o1
}
{
  ?s2 ab:someProperty "SomeLiteral".
  ?s2 ?p2 ?o2
}

提前感谢

在许多情况下,没有区别 在你给出的例子中,没有区别。这实际上在规范中被称为:

在SPARQL查询字符串中,组图模式用 大括号:{}。例如,此查询的查询模式是一个组图 一种基本图形模式的模式

PREFIX foaf:    <http://xmlns.com/foaf/0.1/>
SELECT ?name ?mbox
WHERE  {
          ?x foaf:name ?name .
          ?x foaf:mbox ?mbox .
       }
不同于

{
  ?s ?p ?o1 .
  ?s ?q ?o2 .
  filter( !isIri(?o1) )
}
空白节点标签 另一个可能发挥作用的地方是空白节点标签:

当使用u3;:abc形式的空白节点时,空白节点的标签为 作用域为基本图形模式。一个标签只能在一个应用程序中使用 任何查询中的单个基本图形模式

例如,sparql.org上的验证程序将报告以下语法错误:

select * where {
  { _:s ?p ?o }
  { _:s ?p ?o }
}

语法错误:

Line 3, column 5: Blank node label reuse not allowed at this point: _:s

如果我错过了其他案例,一定要把它们叫出!
{
  ?s ?p ?o1 .
  ?s ?q ?o2 .
  filter( !isIri(?o1) )
}
select * where {
  { _:s ?p ?o }
  { _:s ?p ?o }
}
Line 3, column 5: Blank node label reuse not allowed at this point: _:s