本文介绍了在SPARQL中查找超类并按距离排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在查找某个类型的所有超类,以及该类型的所有超类,依此类推。我使用+运算符执行此操作:
SELECT ?superclass WHERE{
<myType> <superclassPredicate>+ ?superclass
}
我想让这些超类以合理的顺序返回(例如,从最具体到最不具体)。有办法保证这一点吗?我熟悉Order By,但我不确定要放什么内容。
换一种说法:我可以跟踪+操作符进行了多少次"跳转"吗?
编辑
它似乎确实自行完成了这项工作(至少在我的实现中是这样),但我想知道情况是否总是如此。
推荐答案
您可以将@joshua Taylor的答案here的以下部分按其间的类数排序:
prefix : <http://example.org/>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?class where {
:Win7 rdfs:subClassOf* ?mid .
?mid rdfs:subClassOf* ?class .
}
group by ?class
order by count(?mid)
(@Joshua Taylor)
这篇关于在SPARQL中查找超类并按距离排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!