where子句中的单个值

时间:2015-01-21 17:26:47

标签: rdf sparql ontology owlim graphdb

您好我有一个SPARQL查询,其中包含where子句

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

现在,除了一件事,我得到了大部分内容。我没有得到$dontgetthis。这是什么意思? $dontgetthis未在查询中的任何其他位置使用。

1 个答案:

答案 0 :(得分:4)

美元符号是SPARQL中的合法变量前缀,因此您可以使用$v之类的变量,但这似乎不是正在发生的事情。你可以在WHERE中拥有一个可选项,因此像这样的查询是合法的:

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

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