SWRL 是否支持 Protege 中的经典否定?
Does SWRL support classical negation in Protege?
我想尝试以下规则:
(not Person)(?x) -> NonHuman(?x)
此处提供 - https://github.com/protegeproject/swrlapi/wiki/SWRLLanguageFAQ#does-swrl-support-classical-negation
我得到了这个:
Protege 5.5.0 是否支持经典否定?如果是,我怎样才能使以下规则正常?
提前致谢!
来自https://github.com/protegeproject/swrlapi/issues/63:
Unfortunately, the SWRLAPI's parser does not support OWL class expressions in rules.
There is no timeline for their inclusion.
幸运的是,可以使用规则视图 (Windows > Views > Ontology Views > Rules):
Rule: (not Person)(?x) -> NonHuman(?x)
已正确解析并按预期工作。
实际上,在这种特殊情况下您不需要 SWRL。如果您不喜欢 GCI 公理,只需在 一般 class 公理 部分写入 (not Person) SubClassOf NonHuman
,或者先定义 NonPerson
。
别忘了 OWA。
我想尝试以下规则:
(not Person)(?x) -> NonHuman(?x)
此处提供 - https://github.com/protegeproject/swrlapi/wiki/SWRLLanguageFAQ#does-swrl-support-classical-negation
我得到了这个:
Protege 5.5.0 是否支持经典否定?如果是,我怎样才能使以下规则正常? 提前致谢!
来自https://github.com/protegeproject/swrlapi/issues/63:
Unfortunately, the SWRLAPI's parser does not support OWL class expressions in rules.
There is no timeline for their inclusion.
幸运的是,可以使用规则视图 (Windows > Views > Ontology Views > Rules):
Rule: (not Person)(?x) -> NonHuman(?x)
已正确解析并按预期工作。
实际上,在这种特殊情况下您不需要 SWRL。如果您不喜欢 GCI 公理,只需在 一般 class 公理 部分写入 (not Person) SubClassOf NonHuman
,或者先定义 NonPerson
。
别忘了 OWA。