当推理在三元组存储中激活时,以下查询
SELECT ?classiri
WHERE {
ex:myElement rdf:type ?classiri
}
将产生以下结果:
owl:Thing
ex:Animal
ex:Human
ex:MaleHuman
有没有一种方法可以只得到明确断言的公理作为结果?(在这种情况下,显然是ex:MaleHuman
)
请注意,推理不能关闭,还有其他原因,因为以上是需要推理的更复杂查询的一部分。
您不能确定它是实际断言的结果还是推断的结果,但您可以通过以下查询获得最具体的实例:
select ?class {
:instance a ?class
filter not exists {
?subclass rdfs:subClassOf ?class .
filter (?subclass != ?class)
}
}
这意味着要获得的值?class,从而不存在的值?子类(除了?class本身)是的子类?类,:实例也属于该类。
相关
- 检索最特定的实例类
- Sesame:如何在查询过程中删除推理
- 删除SPARQL中不需要的超类答案