Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SPARQL查询:使用值内联数据或与bigdata存储区联合_Sparql_Union_Rdf_Blazegraph - Fatal编程技术网

SPARQL查询:使用值内联数据或与bigdata存储区联合

SPARQL查询:使用值内联数据或与bigdata存储区联合,sparql,union,rdf,blazegraph,Sparql,Union,Rdf,Blazegraph,我有一个数据集,看起来有点像: <item1> <isLocated> <someAddress> <item2> <isLocated> <someAddress> <item3> <isLocated> <someOtherAddress> 我希望能够使用SPARQL回答以下问题: “我将在某个地址或某个其他地址找到哪些项目?” 我可以使用这样的工会: SELECT ?item

我有一个数据集,看起来有点像:

<item1> <isLocated> <someAddress>
<item2> <isLocated> <someAddress>
<item3> <isLocated> <someOtherAddress>

我希望能够使用SPARQL回答以下问题:

“我将在某个地址或某个其他地址找到哪些项目?”

我可以使用这样的工会:

SELECT ?item
{
    { ?item <isLocated> <someAddress> }
    UNION { ?item <isLocated> <someOtherAddress }
} 
SELECT?项目
{
{?项目}

UNION{?item您将语法弄混了一点。请使用:

VALUES ?loc { <someAddress> <someOtherAddress> }

我猜,Bigdata还不支持
VALUES
子句。这是最新SPARQL工作草案(几周前发布)中引入的一个全新特性,因此很自然,一些工具还不支持它


您可以尝试改用
绑定(这与以前的工作草案基本相同,已被替换)。

您是对的,我确实在帖子中弄乱了语法,当我使用正确的语法时,仍然会出现相同的错误。尽管我使用了正确的语法运行查询(尝试了这两种语法)“'FILTER'确实产生了一组正确的结果。您和@JeenBroekstra都给出了给出正确解决方案的答案。是的,绑定/值的名称有一些来回的变化。更改很便宜,所以很遗憾它已经更改了。(语义也发生了变化,但您可能不会注意到)阅读bigdata文档意味着他们几乎完全支持SPARQL 1.1。但我猜你是对的。我在查询中用
绑定?loc
替换了
值(?loc)
,它按预期工作。是的,我肯定他们支持,但SPARQL 1.1是一个正在进行的工作,还不是一个固定的标准。
VALUES ?loc { <someAddress> <someOtherAddress> }
VALUES (?loc) { ( <someAddress> ) ( <someOtherAddress> ) }
FILTER (?loc IN ( val1, val2, ...))