首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决Linkedmdb中的执行限制

如何解决Linkedmdb中的执行限制
EN

Stack Overflow用户
提问于 2014-08-05 14:25:42
回答 1查看 166关注 0票数 3

我试着从Linkedmdb提取所有的电影。我使用偏移量来确保不会达到每个查询的最大结果数。我在python中使用了以下说明

代码语言:javascript
复制
"""
 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
 PREFIX movie: <http://data.linkedmdb.org/resource/movie/>
 SELECT distinct ?film
 WHERE {
 ?film a movie:film .
 } LIMIT 1000 OFFSET %s """ %i

我循环了5次,偏移量为0,1000,2000,3000,4000,并记录了结果的数量。它是(1000,1000,500,0,0)。我已经知道限制是2500,但我认为通过使用偏移量,我们可以逃脱这个。不是真的吗?没有办法获取所有的数据(即使我们使用某种循环)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-05 20:22:44

您的当前查询是合法的,但是没有指定的排序,因此偏移量不会将您带到结果中可预测的位置。(惰性实现可以一次又一次地返回相同的结果。)当您使用限制偏移量时,还需要使用order by。SPARQL 1.1规范规定(强调后加):

15.4抵销 偏移量会使生成的解决方案在指定数目的解决方案之后启动。零的偏移没有影响。 使用限制和偏移量来选择查询解决方案的不同子集的将不会有用,除非通过使用order .使订单可预测。

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

https://stackoverflow.com/questions/25141247

复制
相关文章

相似问题

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