where 子句中的单个值



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

...
optional {
        ?v foo:thing ?something .
        $dontgetthis
        ?v bar:somethingelse ?otherthing .
...
}
...

现在,我得到了大部分,除了一件事。 我不明白$dontgetthis. 这是什么意思? $dontgetthis不会在查询中的其他任何位置使用。

美元符号是 SPARQL 中的合法变量前缀,因此您可以使用像 $v 这样的变量,但这似乎不是正在发生的事情。 您可以将可选作为 WHERE 中的唯一内容,因此像这样的查询是合法的:

prefix foo: <>
prefix bar: <>
select * where { 
  optional {
          ?v foo:thing ?something .
          ?v bar:somethingelse ?otherthing .
  }
}

我宁愿想知道您看到的带有 $dontgetthis 的查询是否是一个字符串,其中$dontgetthis将被其他代码替换。 它本身不是合法的SPARQL。

最新更新