嗨,我有一个特殊的sparql查询,它在图形中返回我所有的三元组。这需要一些时间才能运行,所以我想知道是否可以限制三元组的数量并在用户每次在界面ex上按next时重新运行查询:首先,他看到前10个,然后看到下10个,等等。获取所有结果并保存,然后遍历结果。我可以先获得前10个,然后获得10个,等等。
答案 0 :(得分:1)
对于SELECT
查询,仅获取前十行:
SELECT ...
WHERE {
...
}
LIMIT 10
要获取下十个:
SELECT ...
WHERE {
...
}
OFFSET 10 LIMIT 10
接下来的10个,将OFFSET
增加到20,依此类推。
您说查询返回三元组,那么它是CONSTRUCT
查询吗? LIMIT
和OFFSET
也可以与CONSTRUCT
一起使用,但是返回的三元组数将取决于构造模板中的三元组模式数。
编辑:使用LIMIT
和OFFSET
时,在某些SPARQL存储中,您还需要使用ORDER BY ?x
,其中?x
是其中之一。查询变量。这样可以确保结果的可预测顺序。