在triplestore中激活推理时,请执行以下查询
SELECT ?classiri
WHERE {
ex:myElement rdf:type ?classiri
}
将产生结果:
owl:Thing
ex:Animal
ex:Human
ex:MaleHuman
有没有办法只获得明确断言的公理作为结果? (在这种情况下,显然是ex:MaleHuman
)
请注意,除了其他原因之外,无法关闭推理,因为上述内容是需要推理的更复杂查询的一部分。
答案 0 :(得分:2)
您无法确定它是否与推断的结果相比是实际的断言结果,但您可以通过以下查询获取最具体的实例:
select ?class {
:instance a ?class
filter not exists {
?subclass rdfs:subClassOf ?class .
filter (?subclass != ?class)
}
}
这样可以获得?class 的值,这样就没有?subclass 的值(?class 本身除外) :实例所属的?class 的子类。