首页 > 解决方案 > 如何表示具有相同值的不同类的实例是来自另一个类的实例?

问题描述

我有四个类:A、B、C 和 S。A 类推断出实例 i1 和 i2,它们基于数值条件(在 Equivalent To 中)。B 类具有基于数值条件(等效于)的推断实例 i3 和 i4。A 和 B 是 S 的子类。

每个实例都有一个 xsd:dateTime 值。

我想建模 A 和 B 中具有相等 xsd:dateTime 值的每个实例也是来自类 C 的实例(推断)。如何使用 Protege 建模这样的表达式?

提前致谢。

标签: owlsemantic-webprotegedescription-logic

解决方案


为此,您将不得不使用 SWRL。在 Protege 的 SWRL 选项卡中添加以下规则:

A(?a) ^ B(?b) ^ hasDateTime(?a, ?aDateTime) ^ hasDateTime(?b, ?bDateTime) ^ 
   swrlb:equal(?aDateTime, ?bDateTime) -> C(?a) ^ C(?b)

假设你有一个hasDateTime数据属性。


推荐阅读