
我发现声明可以解释它是由于“Entailment Closure”而且也与OWL Full可以同时拥有属性类和个人类的事实有关.
但我不明白这些陈述之间的关系.
解决方法 这是一个足以理解为什么OWL 2 Full不可判定的例子.这与 Russel’s paradox有关.在OWL Full中,您可以定义一个将自身作为实例的类:
:isinstanceOfItself a :IsIntanceOfItself .
这在RDF / RDFS中也是可能的,但它不会使逻辑不可判定.导致不可判断性的原因是你可以在OWL 2 Full中定义矛盾的类.您可以定义自己作为实例的类的类:
:HaveThemselvesAsInstance rdfs:subClassOf [ a owl:Restriction; owl:onProperty rdf:type; owl:hasSelf true ] .
然后,您可以定义不具有实例的类:
:DoNotHaveThemselvesAsInstance owl:equivalentClass [ owl:complementOf :HaveThemselvesAsInstance ] .
现在,我们可以提出这样一个问题:是:DoNotHaveTheEssetsAsInstance本身的一个实例?假设是这种情况.然后:
:DoNotHaveThemselvesAsInstance a :DoNotHaveThemselvesAsInstance .
是真的.因此,:DoNotHaveTheEelvesAsInstance遵守定义,即它在与rdf:type属性本身没有关系的类中.所以假设是错误的.因此:DoNotHaveTheWelvesAsInstance必须是那些拥有rdf:type的类的补充.所以它必须是一个实例:DoNotHaveTheEelvesAsInstance.所以上面假设的关系应该成立.回到最初的一步.因此,对于定义上面定义的类的任何本体,都不可能存在任何模型.所以不可能有一类没有自己作为实例的类.或许,也许所有类都有自己的实例?但是有一些本体模型,其中一些类不是它们自己的实例.所以… OWL 2 Full真的搞砸了,不是吗?
总结以上是内存溢出为你收集整理的为什么OWL Full不可判定?全部内容,希望文章能够帮你解决为什么OWL Full不可判定?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)