Rdf 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中是一个合法的变量前缀,因此您可以使用像

嗨,我有一个SPARQL查询,它在where子句中有这个

...
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)人:搜索
$