Protégé4.3:本体一致性

Spa*_*on_ 2 rdf owl ontology protege reasoning

我目前在Protégé4中创建了一个关于发明的本体论.

我宣布:

  • 财产 fulfills
  • 两个班级:InventionNeed

仍然在Protégé,我的课程发明由以下断言定义:

Invention subClassOf fulfills exactly 1 Need
Run Code Online (Sandbox Code Playgroud)

这意味着我不希望任何类型的个体Invention不是fulfills一个Need多个.

为了验证这一说法,我创建了一个名为类型发明的个人Boots和类型的极品两个人分别叫Move_fasterEat_faster.

我断言,Boots fulfills Move_faster并且Boots fulfills Eat_faster,这应该打破我的一致性,因为发明应该只满足一个需要.

但是,当我推出HermiT推理器时,我的本体仍然是一致的,即使在以下情况下:

  • Boots满足什么
  • Boots 满足任何不是的人 Need

这是正常的吗?

谢谢

Ale*_*lex 6

是的,这都很正常.OWL有一个开放的世界假设,并没有唯一的名称假设.总而言之,这意味着给定两个名称(例如Move_fasterEat_faster),OWL推理器不能做出关于这些名称是否实际上表示同一个人的任何假设.

您所描述的本体是不矛盾的,因为它可能是Move_fasterEat_faster实际上是相同的事情(事实上,一个OWL推理将使正是这样的结论),在这种情况下,它仍然是真实的,Boots满足只有一个Need.在这里创建不一致的唯一方法是添加断言Move_faster owl:differentFrom Eat_faster.

同样,如果Boots满足什么在你的本体,一个OWL推理会简单地认为有一些不知名的NeedBoots没有履行.这是开放世界的假设.

Boots实现不是(已知)a的东西Need也不是不一致的,因为fulfills exactly 1 Need限制没有说明该类的实例可能实现的不是其成员的事物Need.你需要添加一个allValuesFrom限制来使它变得不一致 - 即使这样,如果已经完成的事物被认为是一个不相交的类的成员,它也只是不一致Need.