【发布时间】:2012-09-20 07:24:47
【问题描述】:
我有一个看起来有点像的数据集:
<item1> <isLocated> <someAddress>
<item2> <isLocated> <someAddress>
<item3> <isLocated> <someOtherAddress>
我希望能够使用 SPARQL 来回答问题:
“我会在 someAddress 或 someOtherAddress 找到哪些项目?”
我可以像这样使用 UNION:
SELECT ?item
{
{ ?item <isLocated> <someAddress> }
UNION { ?item <isLocated> <someOtherAddress }
}
但是当我开始谈论 100 或 1000 个地址时,我认为这会变得相当混乱。
我认为 VALUES 内联数据可能比一堆 UNION 查询更合适。 我尝试编写以下查询,但我的 RDF 存储/引擎(大数据)似乎卡住了它:
SELECT ?item
{
?item <isLocated> ?loc .
}
VALUES (?loc) { (<someAddress>) (<someOtherAddress>) }
(基于http://www.w3.org/TR/sparql11-query/#inline-data)
我从大数据得到的错误是: 第 5 行第 7 列出现词法错误。遇到:“” (32),之后:“VALUES”
我是否正确地形成了这个查询? 使用 UNION 还是 VALUES 更合适?
似乎无论我如何格式化这个查询(基于上面链接中的 w3 示例),我都会得到类似的词法错误。
有什么想法吗?
干杯。
【问题讨论】:
标签: sparql union rdf blazegraph