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
后它开始工作了!
我有以下 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
后它开始工作了!