SPARQL查询:使用VALUES内联数据或UNION与bigdata存储
发布时间:2020-12-14 04:31:41 所属栏目:大数据 来源:网络整理
导读:我有一个看起来有点像的数据集: item1 isLocated someAddressitem2 isLocated someAddressitem3 isLocated someOtherAddress 我希望能够使用SPARQL来回答这个问题: “我会在someAddress或someOtherAddress找到哪些项目?” 我可以像这样使用UNION: SELECT
我有一个看起来有点像的数据集:
<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查询更合适. SELECT ?item { ?item <isLocated> ?loc . } VALUES (?loc) { (<someAddress>) (<someOtherAddress>) } (基于http://www.w3.org/TR/sparql11-query/#inline-data) 我从bigdata得到的错误是: 我正确地形成了这个查询吗? 似乎无论我如何格式化此查询(基于上面链接中的w3示例),我都会得到类似的词法错误. 有任何想法吗? 干杯. 解决方法
猜测一下,我会说Bigdata还不支持VALUES条款.这是最新的SPARQL工作草案(几周前发布)中引入的一个全新功能,所以很自然地,有些工具还不支持它.
您可以尝试使用BINDINGS(这与之前的工作草案大致相同,已被替换). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |