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

考虑具有以下公理(OWL:C1类)和(OWL:P类)的本体,带有对象属性(RDFS:域观察C1)(RDFS:rdfs:range observes p),以及一个个人(RDF:type p 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 框架。

有帮助吗?

解决方案

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

“如果一个人属于 C2 类型,那么它必须具有‘观察’属性”

但是你有 不是 反过来说:

“如果一个人拥有‘观察到’的财产,那么它必须是 C2 类型”

为了使推理机能够推断出您的个人属于 C2 类型,您还必须具备第二条规则(充分条件)。您可以在 OWL 中使用 owl:equivalentClass 关于您的限制的关系(而不是 rdfs:subClassOf 关系)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top