OWL 否定对象属性

问题描述 投票:0回答:1

我在 protege 有一个小玩具本体,我想表示“只有白色的鸭子是 AlbinoDuck”

这是我的本体

我也创建了属性

hasColor

我有

NormalDuck
的一般类公理作为
Duck and (hasColor some Color) SubClassOf NormalDuck
因为如果它是一只鸭子并且它有任何颜色那么它就是一只NormalDuck(我不在乎Albino Ducks是否也被认为是Normal)

然后对于

AlbinoDuck
我有
hasColor only White SubClassOf AlbinoDuck

现在,我创建了两个个体:

  • ThisIsNormalDuck
    与类型
    Duck
    hasColor some Black
    hasColor some White
    。这代表一只黑白相间的鸭子。
  • ThisIsAlbinoDuck
    与类型
    Duck
    hasColor some White
    .

但是,当我运行 Reasoner 时,会为两个人推断类

NormalDuck
。我所期望的是
ThisIsAlbinoDuck
既是正常的又是白化的。

我有两个问题:

  • 我要定义的是

    AlbinoDucks
    只能有一种颜色,而且必须是白色。我怎样才能用门徒/猫头鹰语言做到这一点?

  • 如果我想定义“白色并且可以有其他颜色但不是棕色的东西”怎么办? (可以是

    White
    White and Black

owl ontology protege
1个回答
0
投票

你的本体有两个问题:

  1. hasColor only White SubClassOf AlbinoDuck
    表示
    hasColor only White
    集是
    AlbinoDuck
    集的子集。因此,可能有属于 AlbinoDuck 集合但属于
    hasColor only White
    集合的个体。您需要使用
    EquivalentTo
    而不是
    SubsetOf
    .

    Class: AlbinoDuck
       EquivalentTo:
       hasColor only White
       SubClassOf:
         Duck
    
  2. 声明

    ThisIsAlbinoDuck
    具有类型
    hasColor some White
    表示它具有白色,但不排除它也可能具有其他颜色的可能性。要强制它没有其他颜色,你应该

(a) 确保您唯一可以拥有的颜色是

White
Black
Brown

 Class: Color
   DisjointUnionOf:
     Black, Brown, White

(b) 声明

ThisIsAlbinoDuck
没有颜色
Black
Brown
.

  Types:
    Duck,
    not (hasColor some (Black or Brown)),
    hasColor some Color

完整的本体如下:

   ObjectProperty: hasColor

   Class: AlbinoDuck
      EquivalentTo:
      hasColor only White
      SubClassOf:
        Duck

   Class: Black
      SubClassOf:
        Color

   Class: Brown
      SubClassOf:
        Color

   Class: Color
      DisjointUnionOf:
         Black, Brown, White

   Class: Duck
      DisjointUnionOf:
      AlbinoDuck, NormalDuck

   Class: NormalDuck
      EquivalentTo:
        hasColor some (Black or Brown)
      SubClassOf:
        Duck

    Class: White
      SubClassOf:
        Color

   Individual: albinoDuck
      Types:
        Duck,
        not (hasColor some (Black or Brown)),
        hasColor some Color

    Individual: normalDuck
       Types:
       Duck,
         (hasColor some Black)
         and (hasColor some White)

© www.soinside.com 2019 - 2024. All rights reserved.