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