在SPARQL中查找超类并按距离排序

在SPARQL中查找超类并按距离排序,sparql,Sparql,我找到了一种类型的所有超类,以及该类型的所有超类,以此类推。我正在使用+运算符执行此操作: SELECT ?superclass WHERE{ <myType> <superclassPredicate>+ ?superclass } SELECT?超类在哪里{ +?超类 } 我想让这些超类以合理的顺序返回(如从最具体到最不具体)。有没有办法保证这一点?我对ORDER BY很熟悉,但我不知道该放什么进去 换句话说:我可以跟踪+操作符进行了多少次“跳跃”吗 编辑

我找到了一种类型的所有超类,以及该类型的所有超类,以此类推。我正在使用+运算符执行此操作:

SELECT ?superclass WHERE{
    <myType> <superclassPredicate>+ ?superclass
}
SELECT?超类在哪里{
+?超类
}
我想让这些超类以合理的顺序返回(如从最具体到最不具体)。有没有办法保证这一点?我对ORDER BY很熟悉,但我不知道该放什么进去

换句话说:我可以跟踪+操作符进行了多少次“跳跃”吗

编辑


它本身似乎可以做到这一点(至少在我的实现中是这样),但我想知道情况是否总是如此。

您可以从@Joshua Taylor的答案中选择以下部分,按照其间的类数进行排序:

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)
前缀:
前缀rdfs:
选择?类,其中{
:Win7 rdfs:子类*?mid。
?中间rdfs:子类*?类。
}
分组
按计数排序(?中间)

(@Joshua Taylor)

你可以从@Joshua Taylor的答案中选取以下部分,按照其间的类数进行排序:

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)
前缀:
前缀rdfs:
选择?类,其中{
:Win7 rdfs:子类*?mid。
?中间rdfs:子类*?类。
}
分组
按计数排序(?中间)

(@Joshua Taylor)

你有没有寻找现有的答案?就我所记得的,有一些非常相关的问题已经得到了回答,例如,如果你在寻找@Joshua Taylor的答案,你在寻找现有的答案吗?据我所知,有一些非常相关的问题已经得到了回答,例如,如果你在寻找@Joshua Taylor的答案