个人 "null" 对象 属性

Individual with "null" object property

我正在 Protege 中处理 ontology 任务。

情况: 我有 Student class,它有 InactiveStudentActiveStudentVeryActiveStudent 的子类。这些子类具有与名为 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 中陈述的明确信息或可以从明确陈述的信息中得出的内容。