使用耶拿的基本猫头鹰推理

时间:2012-07-28 13:42:10

标签: semantic-web jena owl semantic-analysis

我是本体论的新手,并且有关于OWL推理的基本问题。这个问题可能看起来很冗长,抱歉......

考虑具有以下公理的本体论 (owl:class C1)和(owl:class P),具有对象属性(rdfs:domain观察C1)(rdfs:range观察P),以及个体(rdf:type p P)

然后我通过创建具有限制的C2类(rdfs:subClassOf C2 C1)来限制C1类(观察C2 p)

现在,当我创建一个新的个体(rdf:type x owl:Thing)(观察x p)时,推理器推断出(rdf:type x C1)。但是,个体x的定义似乎更接近C2,所以推理者不应该推断x是C2类型吗?

请帮忙!

我正在尝试使用Jena框架。

1 个答案:

答案 0 :(得分:1)

这不会发生的原因是您使用子类创建了限制,这意味着您已创建了必要(但不充分)的条件。换句话说,你已经向推理者说过这个:

"如果一个人属于C2类型,那么它必须拥有一个属性'观察'"

但你有反过来说:

"如果某个人拥有某个属性'观察'那么它必须是C2"

为了使推理者能够推断出您的个体属于C2类型,您必须具有第二个规则(充分条件)。您可以在OWL中使用owl:equivalentClass关系限制(而不是rdfs:subClassOf关系)来执行此操作。