将班级个体定义为另一个班级个体的组合

时间:2016-06-21 17:36:30

标签: owl modeling reasoning description-logic

在OWL本体论中,给出了一个班级Student;我想定义另一个班级StudentsPair,这是一对学生,以这种方式自动计算Student的所有可能的双重组合,即

Student(x) and Student (y) --> StudentsPair(x,y)

我希望StudentsPair作为一个类,而不是一个属性,因为它可能有其他功能(例如averagePerformanceForPair等)。

例如,

前提

Student(John)
Student(Alex)
Student(Mary)
-----------------

结论

StudentPair((John, Alex))
StudentPair((John, Mary))
StudentPair((Alex, Mary))

推理者必须以某种方式创造这些新人!这可能吗?

1 个答案:

答案 0 :(得分:2)

您需要一个额外的角色student,然后您可以使用描述逻辑规则,这可能会起作用:

Student ≡ ∃student.Self
student ◦ U ◦ student ⊑ StudentPair