首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sparql极限

Sparql极限
EN

Stack Overflow用户
提问于 2014-04-27 10:39:46
回答 3查看 172关注 0票数 2

我想知道如何用sparql表达以下问题:

“把每个孩子都上麻省理工学院的父母给我”

更广泛地说,我想知道查询sparql的限制是什么?在数据库中有哪些问题不能用sparql来表示

谢谢你的帮助

EN

回答 3

Stack Overflow用户

发布于 2014-04-28 05:06:09

您可以使用否定的存在量化来表示这一点。如下所示:

代码语言:javascript
复制
SELECT ?parent
WHERE { ?parent a :Parent .
        FILTER NOT EXISTS {
           ?c :childOf ?parent .
           ?c :enrolledIn ?school .
           FILTER (str(?school) != "MIT")
        }
}

这个问题询问所有没有孩子的家长,他们就读于与麻省理工学院不同的学校。

票数 5
EN

Stack Overflow用户

发布于 2014-04-27 16:44:25

您的问题涉及量化,是常规SPARQL 1.0中不能表示为一个查询的事物的一个例子。(它可以用SPARQL 1.1表示,如Jeen Broekstra的答案所示,也可以表示为OWL类。)

然而,许多SPARQL1.0实现已经开发了扩展来处理量化。一个商业例子是智能维语义平台,,它会给您提供如下内容:

代码语言:javascript
复制
SELECT ?parent
WHERE { ?child :hasParent ?parent FORALL(?child){ ?child :hasSchool "MIT" } }

牛津大学计算机实验室的SPARQLog就是一个学术例子。我不知道这个系统是一个容易下载的系统,但是这篇论文是免费的,它提供了实现SPARQL量化的困难。

至于你关于SPARQL极限的问题,它太笼统了,无法用几句话来回答,但这里有一个指向相关论文的链接,同样涉及SPARQL1.0:http://arxiv.org/abs/cs/0605124

票数 4
EN

Stack Overflow用户

发布于 2014-04-27 14:05:37

对于具体问题,您可以阅读有关关系划分的内容。或者,你可以找到所有没有去麻省理工学院的孩子,找到他们的父母,并将这些父母从所有父母的名单中删除。

抱歉,帮不上斯派克的忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23322329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档