0

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

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

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

4

1 回答 1

4

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

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

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

于 2015-01-21T20:32:30.723 回答