小编use*_*073的帖子

SPARQL查询:使用VALUES内联数据或UNION与bigdata存储

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

<item1> <isLocated> <someAddress>
<item2> <isLocated> <someAddress>
<item3> <isLocated> <someOtherAddress>
Run Code Online (Sandbox Code Playgroud)

我希望能够使用SPARQL来回答这个问题:

"我会在someAddress或someOtherAddress找到哪些项目?"

我可以像这样使用UNION:

SELECT ?item
{
    { ?item <isLocated> <someAddress> }
    UNION { ?item <isLocated> <someOtherAddress }
} 
Run Code Online (Sandbox Code Playgroud)

但是当我开始谈论100或1000的地址时,我认为这将变得非常混乱.

我认为VALUES内联数据可能比一堆UNION查询更合适.我已经尝试编写以下查询,但我的RDF存储/引擎(bigdata)似乎扼杀了它:

SELECT ?item
{
    ?item <isLocated> ?loc .
}
VALUES (?loc) { (<someAddress>) (<someOtherAddress>) }
Run Code Online (Sandbox Code Playgroud)

(基于http://www.w3.org/TR/sparql11-query/#inline-data)

我从bigdata得到的错误是:第5行第7列的词汇错误.遇到:""(32),之后:"VALUES"

我正确地形成了这个查询吗?使用UNION或VALUES更合适吗?

似乎无论我如何格式化这个查询(基于上面链接中的w3示例),我都会得到类似的Lexical错误.

有任何想法吗?

干杯.

union rdf sparql blazegraph

4
推荐指数
1
解决办法
629
查看次数

标签 统计

blazegraph ×1

rdf ×1

sparql ×1

union ×1