SWRL规则的其他分支



我想问是否可以在SWRL中表达规则的Else分支?我知道它可以表达p-> q,但我希望能够断言如果不(p)

示例重沉淀(?x) -> hasobservationtag(?x,falseSitiveOutlier)

现在我想说 else asobservationTag(?x,truepoSitiveOutlier)

如何完成?

谢谢

(p->q)之类的规则中,无法说(not(p) -> ...);在owl-dl swrl中,永远是不可能的。

,但是,您可以做可能是您特定用法的解决方法的事情:

  1. owl: ComplementOf(ClassExpression):像否定一样工作classexpression

  2. swrl: DifferentIndividualsAtom(Arg1,Arg2):对于排除值或范围

它们是表达看起来像否定的东西的唯一方法。

在您的示例上:

then-rule   ClassAtom(HeavyPrecipitation,?x) -> propertyAtom(hasObservationTag,?x,FalsePositiveOutlier)
else-rule   ClassAtom(ComplementOf(HeavyPrecipitation),?x) -> propertyAtom(hasObservationTag,?x,TruePositiveOutlier)

注意:对于开放世界的假设和DL,否定是棘手的;有时,这两个规则("然后"one_answers"否则")可以同时正确(主要取决于您的课程的定义方式)。有时您的规则都不适用:这完全取决于您如何在个人声明课程中。

相关内容

  • 没有找到相关文章

最新更新