分页SPARQL结果

时间:2014-12-15 16:18:11

标签: rdf sparql

假设我有以下SPARQL查询:

SELECT DISTINCT ?result ?label
WHERE {
  ?result a database:Column .
  ?result rdfs:label ?label .
}
ORDER BY (LCASE(?label))

我可以在查询中添加什么来限制前10个结果的数量?或者优选地,在第一个 n×10 结果之后的10个结果?我正在尝试实现分页以显示结果。

1 个答案:

答案 0 :(得分:11)

  

我正在尝试为可视化返回数据的表实现分页系统。

您希望使用限制订购抵消。他们在标准中描述得非常好:

  

15.4 OFFSET

     

OFFSET会导致生成的解决方案在指定后启动   解决方案的数量。 OFFSET为零无效。

     

使用LIMIT和OFFSET选择查询的不同子集   除非订单可以预测,否则解决方案将无用   使用ORDER BY。

  

15.5 LIMIT

     

LIMIT子句对解决方案的数量设置上限   回。如果在应用OFFSET后实际解决方案的数量,   大于极限,则最多为极限数量的解   将被退回。

在您的情况下,当您每页显示十个结果时,您的查询将显示第四页结果:

SELECT DISTINCT ?result ?label
WHERE {
  ?result a database:Column .
  ?result rdfs:label ?label .
}
ORDER BY (LCASE(?label))
LIMIT 10
OFFSET 30