【发布时间】:2019-11-24 00:04:07
【问题描述】:
我正在尝试实现一个规则,将日期时间减去 1 年,并将其分配给仅使用 SWRL 的数据属性
我有一个实体Product,它的数据属性creationDate 等于2019-07-15T00:00:00。
我的 SWRL 规则如下:
Product(?p) ^ creationDate(?p, ?cd) ^ swrlb:yearMonthDuration(?dur, 1, 0)
^ swrlb:subtractYearMonthDurationFromDateTime(?result, ?cd, ?dur)
-> Product(?p) ^ yearBeforeCreation(?p, ?result)
我希望 yearBeforeCreation 等于 2018-07-15T00:00:00
现在我已经用 Pellet 和 Drools 尝试了 SWRL
感谢您的帮助!
【问题讨论】:
-
为什么你的规则头部有
Product(?p)?这是多余的,因为它是规则主体的一部分,即规则“触发”的要求之一 -
这是一个错误,没有注意,会在我的规则中纠正,thx