OWL,将 属性 添加到 class 的所有实例
OWL, adding a property to all instances of a class
我正在寻找一种方法来将对象 属性 添加到给定 class 的所有实例。
示例问题:
假设我定义了三个 class。
Religious_Person
Supreme_Being
Christian Religious_Person.
的子class
现在我想要一个对象 属性 "devotes",它的域为 Religous_Person,范围为 Supreme_Being。
我有三个 Christian 实例:Marck、Bob 和 Cathy。
我有一个实例Supreme_Being:上帝。
现在我想声明 Marck 奉献上帝,Bob 奉献上帝,Cathy 奉献上帝。对每个实例都这样做似乎很乏味,所以我想表达 class 基督徒的每个实例都默认奉献上帝。现在当然这可能有点令人困惑,因为从这个例子来看,我似乎希望每个 Religious_Person 只专注于一个 Supreme_Being,但事实并非如此。
示例:
假设 JackAndJillian 是一个 Religious_Person 既喜欢杰克又喜欢吉尔。所以我希望 JackAndJillian 的每个实例都用于 Jack 和 Jill(他们都是 Supreme_Being 的实例)。
我觉得 "devotes" 应该是 class 基督徒的对象 属性,但是由于 class 没有属性,这是不可能的。
我正在使用 protege 来帮助自己构建一个 ontology,所以如果有一种方法我可以用 protege 来表达这一点,那就太好了。
您可以在 SubClassOf 公理中使用 owl:hasValue
(在曼彻斯特 OWL 语法中):
Class: Christian
SubClassOf: Religious_Person and devotes value God
OWL中没有默认值的概念。 OWL中的推理是单调的,因此,您不能通过添加其他语句来删除任何语句。
我正在寻找一种方法来将对象 属性 添加到给定 class 的所有实例。
示例问题:
假设我定义了三个 class。 Religious_Person Supreme_Being Christian Religious_Person.
的子class现在我想要一个对象 属性 "devotes",它的域为 Religous_Person,范围为 Supreme_Being。
我有三个 Christian 实例:Marck、Bob 和 Cathy。 我有一个实例Supreme_Being:上帝。
现在我想声明 Marck 奉献上帝,Bob 奉献上帝,Cathy 奉献上帝。对每个实例都这样做似乎很乏味,所以我想表达 class 基督徒的每个实例都默认奉献上帝。现在当然这可能有点令人困惑,因为从这个例子来看,我似乎希望每个 Religious_Person 只专注于一个 Supreme_Being,但事实并非如此。
示例:
假设 JackAndJillian 是一个 Religious_Person 既喜欢杰克又喜欢吉尔。所以我希望 JackAndJillian 的每个实例都用于 Jack 和 Jill(他们都是 Supreme_Being 的实例)。
我觉得 "devotes" 应该是 class 基督徒的对象 属性,但是由于 class 没有属性,这是不可能的。
我正在使用 protege 来帮助自己构建一个 ontology,所以如果有一种方法我可以用 protege 来表达这一点,那就太好了。
您可以在 SubClassOf 公理中使用
owl:hasValue
(在曼彻斯特 OWL 语法中):Class: Christian SubClassOf: Religious_Person and devotes value God
OWL中没有默认值的概念。 OWL中的推理是单调的,因此,您不能通过添加其他语句来删除任何语句。