我找到了一个类型的所有超类,以及的所有超类类型,依此类推。我使用+运算符执行此操作:
SELECT ?superclass WHERE{
<myType> <superclassPredicate>+ ?superclass
}
我希望以合理的顺序恢复这些超类(例如,最具体到最不具体)。有没有办法保证这个?我熟悉ORDER BY,但我不知道该怎么做。
换句话说:我可以跟踪有多少&#34;跳跃&#34;是由+运算符?
修改
它似乎确实是这样做的(至少在我的实现中),但我想知道是否总是如此。
答案 0 :(得分:0)
你可以采用@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)