如何进行 SPARQL 查询来查找属性的最高值?
假设我有一个像“age”这样的谓词,其中所有年龄三元组的值都是整数。哪个 SPARQL 查询会返回数据中年龄最高的主题?
Lets say I have a predicate like 'age' where the values of all age triples are integer literals. What SPARQL query would return the subject with the highest age in the data?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您只需使用年龄谓词进行
order by desc
操作,然后使用limit
即可获取第一个。请在此处查看 SPARQL 中
order by
的语义< /a>在 SPARQL 的下一版本 1.1 中,某些系统已支持该版本,您可以使用函数聚合并执行 ..
当前所有三元组存储均不支持此功能。
You just need to do
order by desc
with the age predicate and thenlimit
to just get the first one.See the semantics of
order by
in SPARQL hereWith the next version of SPARQL , 1.1, that is already supported in some systems you can use function aggregates and do ..
This is not supported in all triple stores currently.
除了 Manuel 的查询之外,如果您的数据有一些无效/不可靠的值,您可能还需要使用
xsd:integer
强制将值转换为整数:根据您的数据,您可能需要将其添加到他的还有第二个 SPARQL 1.1 查询。
In addition to Manuel's queries you may need to use
xsd:integer
to force values to be cast to integer if your data has some invalid/dodgy values:Depending on your data you may need to add this into his second SPARQL 1.1 query as well.