Rdf sparql-大括号的使用
您好,我有一个关于sparql查询的简单问题。 大括号在where子句中有任何作用吗? 例如: 两者之间有区别吗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查询字符串中,组图模式用 大括号:{}。例如,此查询的查询模式是一个组图 一
{
?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