where 子句中的单个值

Single value in where clause

你好,我有一个 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。