SWRL是否支持Protege中的经典否定?

问题描述 投票:0回答:2

我想尝试以下规则:

[(not Person)(?x) -> NonHuman(?x),此处提供-https://github.com/protegeproject/swrlapi/wiki/SWRLLanguageFAQ#does-swrl-support-classical-negation

我知道了:enter image description here

Protege 5.5.0支持经典否定吗?如果是,我如何使以下规则正确?预先感谢!

owl protege negation swrl
2个回答
1
投票

来自https://github.com/protegeproject/swrlapi/issues/63

[不幸的是,SWRLAPI的解析器不支持规则中的OWL类表达式。没有列入时间表的时间表。

幸运的是,可以使用“规则”视图:Windows>视图>本体视图>规则


实际上,在这种特殊情况下,您不需要SWRL。只需在通用类公理部分中输入(not Person) SubClassOf NonHuman,或者,如果您不喜欢GCI公理,则首先定义NonPerson

不要忘记OWA。


0
投票

编辑:使用内置的swrlb:notEqual()帮助了我。

最终结果:Person(?x) ^ swrlb:notEqual(?x) -> NonHuman(?x)

© www.soinside.com 2019 - 2024. All rights reserved.