SPARQL 查询不返回深度

SPARQL Query not returning depth

我有以下 SPARQL 查询:

SELECT ?depthClass (count(?mid)-1 as ?depth)
WHERE {
        {
            SELECT ?root WHERE {
                ?root a owl:Class
                FILTER NOT EXISTS {
                    ?root rdfs:subClassOf ?superroot 
                    filter ( ?root != ?superroot )
                    }
            }
        }
  ?depthClass rdfs:subClassOf* ?mid .
  ?mid rdfs:subClassOf* ?root .
}
group by ?depthClass
order by ?depth

它应该return class 和给定的class depthClass 的深度。但是,它没有 return 任何东西。我在查询中没有看到任何错误。

调试后我注意到,由于我使用的是owlready2 rdflib实现,它可能不支持?root a owl:Class语法,将其更改为?root rdf:type owl:Class后它开始工作了!