OWL,为类的所有实例添加属性

时间:2017-04-07 10:51:42

标签: owl protege

我正在寻找一种方法来将Object Property添加到给定类的所有实例中。

示例问题:

我们说我定义了三个班级。 Religious_Person Supreme_Being Christian是Religious_Person的子类。

现在我想拥有一个Object属性" devotes"它有一个Religous_Person域和一系列Supreme_Being。

我有三个基督徒的例子:马克,鲍勃和凯茜。 我有一个Supreme_Being的例子:上帝。

现在我想说Marck致力于上帝,Bob致力于上帝,Cathy致力于上帝。为每一个例子做这件事似乎很乏味,所以我想表达基督徒的每个实例默认都奉献给上帝。现在可能有点令人困惑,因为从这个例子来看,似乎我希望每一个Religious_Person只投入一个Supreme_Being,但实际情况并非如此。

示例:

让我们说JackAndJillian是一位专注杰克和吉尔的Religious_Person。因此,我希望JackAndJillian的每个实例都能投入Jack和Jill(他们都是Supreme_Being的实例)。

我感觉像是"致力于"应该是Christian类的对象属性,但由于没有属性的类,这是不可能的。

我正在使用protege来帮助自己建立一个本体论,所以如果我能用这种方式来表达这一点,那就太棒了。

1 个答案:

答案 0 :(得分:1)

  1. 您可以在SubClassOf公理中使用owl:hasValue(使用曼彻斯特OWL语法):

    Class: Christian
       SubClassOf: Religious_Person and devotes value God
    
  2. OWL中没有默认值的概念。 OWL中的推断是单调的,因此,您不能通过添加其他语句来删除任何语句。