2

当我运行推理器(pellet 1.5 或 fact++)时,我在 protege 中遇到“相同个人属性”的问题

让我们以本体为例

thing 有儿子 A 和 B,A 有儿子 C 和 D。

B、C 和 D 具有同一类别的个体。

我不能说个人 C 与个人 B 是“同一个人”,然后再加上个人 D 与个人 B 是“同一个人”吗?这是真的,他们有不同的名字,但他们是同一个人。

为什么只有当我设置个人 B 具有 C 或 D 类型的“同一个人”时它才有效?

protege 错误是“InconsistentOntologyException:Fact++.Kernel:consistent Ontology”,并且pellet 说本体不一致。

编辑:似乎这是一个更根深蒂固的问题,这个例子有效,将继续检查。

EDIT2:经过更多试验,似乎它与 DataType 属性发生冲突。它们都共享同名的 DataType 属性。在示例中,属性域是 A 和范围字符串。知道如何解决吗?

4

1 回答 1

0

是的,您解决了它-您将标签(您称之为事物)与身份混淆了:类的实例是唯一的(您可以将不同的标签附加到它上-即称其为不同的事物),但实例本身只能存在一次-并且在您的示例中,您有效地断言存在“同一实例的三个实例”......当然,这没有任何意义。

于 2010-12-30T16:12:40.593 回答