2

使用描述逻辑(和相应的 OWL-DL)考虑我们有Meeting一个类可以参加的类Professor,因此:

couldBeAttendedBy domain Meeting
couldBeAttendedBy range Professor

并认为 aProfessor可能是Assistant另一个Professor

assistantOf domain Professor
assistantOf range Professor

问题: 我如何使用术语框公理(TBox)来声明,如果 a Meeting couldBeAttendedBya Professor,那么它couldBeAttendedBy是他的任何一个Assistants

例如,考虑一下:

Meeting(m)
Professor(f)
m couldBeAttendedBy f
as assistantOf f

我想得出结论

m couldBeAttendedBy as
4

1 回答 1

3

您需要创建一个属性链,给出一个定义couldBeAttendedBy以适应您的规则。

例如,如果您使用 Protégé,则需要定义couldBeAttendedBy以下内容:

couldBeAttendedBy o inverse (assistantOf)

在 SuperProperty Of (Chain),它将显示为

couldBeAttendedBy o inverse (assistantOf) SubPropertyOf couldBeAttendedBy

案例很简单,这正是财产链的用途。但是,如果链条变得更加复杂,它们可能会变得不可判定。例如,在 S1 º S2 º S3 º ... º Sn ⊑ R 中,R 只能位于表达式左侧的第一个或最后一个位置。否则无法判定。这是对常规 RBox 的限制之一。而属性链,或者更正式的“通用角色包含”,只有在应用于常规 RBox 时才能确定。

于 2016-06-09T13:04:11.007 回答