假设我有以下SPARQL查询:
SELECT DISTINCT ?result ?label
WHERE {
?result a database:Column .
?result rdfs:label ?label .
}
ORDER BY (LCASE(?label))
Run Code Online (Sandbox Code Playgroud)
我可以在查询中添加什么来将结果数限制为前10个?或者优选地,在第一个n×10结果之后的10个结果?我正在尝试实现分页以显示结果.
Jos*_*lor 12
我正在尝试为可视化返回数据的表实现一个分页系统.
您想使用limit,order by和offset.它们在标准中描述得非常好:
15.4 OFFSET
OFFSET导致生成的解决方案在指定数量的解决方案之后启动.OFFSET为零无效.
除非通过使用ORDER BY使订单可预测,否则使用LIMIT和OFFSET选择查询解决方案的不同子集将没有用处.
15.5限制
LIMIT子句为返回的解决方案数量设置上限.如果在应用OFFSET之后实际解决方案的数量大于限制,则最多将返回解决方案的限制数量.
在您的情况下,当您每页显示十个结果时,您的查询将显示第四页结果:
SELECT DISTINCT ?result ?label
WHERE {
?result a database:Column .
?result rdfs:label ?label .
}
ORDER BY (LCASE(?label))
LIMIT 10
OFFSET 30
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1996 次 |
| 最近记录: |