Rdf where子句中的单个值
嗨,我有一个SPARQL查询,它在where子句中有这个Rdf where子句中的单个值,rdf,sparql,ontology,owlim,graphdb,Rdf,Sparql,Ontology,Owlim,Graphdb,嗨,我有一个SPARQL查询,它在where子句中有这个 ... optional { ?v foo:thing ?something . $dontgetthis ?v bar:somethingelse ?otherthing . ... } ... 现在,除了一件事,我得到了大部分。我没有得到$dontgetthis。这是什么意思$dontgett此不在查询中的任何其他位置使用。美元符号在SPARQL中是一个合法的变量前缀,因此您可以使用像
...
optional {
?v foo:thing ?something .
$dontgetthis
?v bar:somethingelse ?otherthing .
...
}
...
现在,除了一件事,我得到了大部分。我没有得到
$dontgetthis
。这是什么意思$dontgett此
不在查询中的任何其他位置使用。美元符号在SPARQL中是一个合法的变量前缀,因此您可以使用像$v
这样的变量,但实际情况似乎并非如此。您可以将可选项作为WHERE中的唯一内容,因此这样的查询是合法的:
前缀foo:
前缀栏:
选择*其中{
可选的{
维福:什么?什么。
有什么事吗?有什么事吗。
}
}
我想知道您看到的带有
$dontgetthis
的查询是否是一个字符串,其中$dontgetthis
将被其他代码替换为其他代码。它本身不是合法的SPARQL。美元符号是SPARQL中的合法变量前缀,因此您可以使用像$v
这样的变量,但实际情况并非如此。您可以将可选项作为WHERE中的唯一内容,因此这样的查询是合法的:
前缀foo:
前缀栏:
选择*其中{
可选的{
维福:什么?什么。
有什么事吗?有什么事吗。
}
}
我想知道您看到的带有
$dontgetthis
的查询是否是一个字符串,其中$dontgetthis
将被其他代码替换为其他代码。它本身不是合法的SPARQL。这是否意味着变量的前缀可以是美元或问号?这两者之间有什么区别吗?唯一的区别是一个以问号开头,另一个以美元符号开头$foo
和?foo
是同一个变量。(免费在线提供,因此这不是秘密信息或任何东西)规范明确指出:“查询变量通过使用“?”或“$”进行标记,“?”或“$”不是变量名称的一部分。在查询中,$abc和?abc标识同一个变量。”@JoshuaTaylor,但不是通常用于查询参数的$
,例如,当执行查询时,将从外部绑定的变量?@VladimirAlexiev有些人可能有这种约定。我以前从未见过它。@JoshuaTaylor是的,sesame(rdf4j)人:搜索$
这是否意味着变量的前缀可以是美元或问号?这两者之间有什么区别吗?唯一的区别是一个以问号开头,另一个以美元符号开头$foo
和?foo
是同一个变量。(免费在线提供,因此这不是秘密信息或任何东西)规范明确指出:“查询变量通过使用“?”或“$”进行标记,“?”或“$”不是变量名称的一部分。在查询中,$abc和?abc标识同一个变量。”@JoshuaTaylor,但不是通常用于查询参数的$
,例如,当执行查询时,将从外部绑定的变量?@VladimirAlexiev有些人可能有这种约定。不过我以前从未见过。@JoshuaTaylor是的,芝麻(rdf4j)人:搜索$