【发布时间】:2015-12-11 11:27:20
【问题描述】:
如果我有一个“集合”类和一个包含个人自行车、把手、轮胎等的“部分”类,直到现在我已经实现了自行车是带有Recursive object property in owl 的把手、轮胎等的集合,但现在我面临这辆自行车及其组成部分是“收藏”的个体的问题?
【问题讨论】:
如果我有一个“集合”类和一个包含个人自行车、把手、轮胎等的“部分”类,直到现在我已经实现了自行车是带有Recursive object property in owl 的把手、轮胎等的集合,但现在我面临这辆自行车及其组成部分是“收藏”的个体的问题?
【问题讨论】:
在这种情况下,您试图将个人的“集合”视为个人本身。然而,任何个体的集合在 OWL 中都被定义为一个类。因此,您实际上要做的是将 OWL 类视为一个个体。现在这是可能的,但是,在 OWL DL 中是不可能的。使用owl:sameAs 标签。直接引用owl规范
在 OWL Full 中,类可以被视为(元)类的实例,我们可以使用 owl:sameAs 构造来定义类相等,从而表明两个概念具有相同的内涵意义。
这一切都很好,但是,根据您的问题,您正试图“推断”这种类型的集合。没有直接的方法可以做到这一点,尤其是因为无法推断出 OWL Full。
所以我们只剩下另一种选择,即对具有一个或多个对象属性的类建模,这些对象属性将个体连接到特定枚举的所有个体。这在语义层面上可能没有那么有用(或确实不准确),但总比没有好,并且可以在您创建的程序中抵消一些推理复杂性。
【讨论】: