个人 "null" 对象 属性
Individual with "null" object property
我正在 Protege
中处理 ontology 任务。
情况: 我有 Student class
,它有 InactiveStudent
、ActiveStudent
和 VeryActiveStudent
的子类。这些子类具有与名为 isEnrolledForSubject
的对象 属性 相关的条件。我定义了以下条件:
ActiveStudent = 'Class of all students' and (isEnrolledForSubject min 1 'Class of all subjects')
VeryActiveStudent = 'Class of all students' and (isEnrolledForSubject min 4 'Class of all subjects')
但我不知道如何为InactiveStudent
定义-条件是这样的学生还没有注册ANY subject
。问题是,当我定义一个个体 John 时,我不能对他说“isEnrolledForSubject null
”进行对象 属性 断言,因为 Protege 的向导期望一个来自定义范围的个体。
如何解决这种情况?
您定义如下:
InactiveStudent = 'Class of all students' and (isEnrolledForSubject max 0 'Class of all subjects')
那么当你定义一个inactiveStudent
个人时,你需要这样声明:
inactiveStudent Type 'Class of all students'
inactiveStudent Type isEnrolledForSubject max 0 'Class of all subjects'
造成这种情况的原因有两个:
(1) 对象属性定义了 2 个人 之间的关系。除了像我一样限制其类型之外,无法声明 中的个体不是 与任何其他个体的关系。
(2) 如果一个人没有通过对象 属性 与另一个人相关联,则由于 开放世界假设 ,无法推断出更多信息。非正式地,这意味着推理者可以从 ontology 中做出的唯一推论是基于 ontology 中陈述的明确信息或可以从明确陈述的信息中得出的内容。
我正在 Protege
中处理 ontology 任务。
情况: 我有 Student class
,它有 InactiveStudent
、ActiveStudent
和 VeryActiveStudent
的子类。这些子类具有与名为 isEnrolledForSubject
的对象 属性 相关的条件。我定义了以下条件:
ActiveStudent = 'Class of all students' and (isEnrolledForSubject min 1 'Class of all subjects')
VeryActiveStudent = 'Class of all students' and (isEnrolledForSubject min 4 'Class of all subjects')
但我不知道如何为InactiveStudent
定义-条件是这样的学生还没有注册ANY subject
。问题是,当我定义一个个体 John 时,我不能对他说“isEnrolledForSubject null
”进行对象 属性 断言,因为 Protege 的向导期望一个来自定义范围的个体。
如何解决这种情况?
您定义如下:
InactiveStudent = 'Class of all students' and (isEnrolledForSubject max 0 'Class of all subjects')
那么当你定义一个inactiveStudent
个人时,你需要这样声明:
inactiveStudent Type 'Class of all students'
inactiveStudent Type isEnrolledForSubject max 0 'Class of all subjects'
造成这种情况的原因有两个:
(1) 对象属性定义了 2 个人 之间的关系。除了像我一样限制其类型之外,无法声明 中的个体不是 与任何其他个体的关系。
(2) 如果一个人没有通过对象 属性 与另一个人相关联,则由于 开放世界假设 ,无法推断出更多信息。非正式地,这意味着推理者可以从 ontology 中做出的唯一推论是基于 ontology 中陈述的明确信息或可以从明确陈述的信息中得出的内容。