我一直在四处寻找一切为什么OWL完全是不可判定的,但我还没有找到一个容易理解的例子,这将导致我理解它。为什么OWL完全不可判定?
我发现了解释这是由于“Entailment Closure”的说法,这也与OWL Full可以具有属性的类以及同时也是个人的事实相关。
但是我不理解那些语句之间的关系。
我一直在四处寻找一切为什么OWL完全是不可判定的,但我还没有找到一个容易理解的例子,这将导致我理解它。为什么OWL完全不可判定?
我发现了解释这是由于“Entailment Closure”的说法,这也与OWL Full可以具有属性的类以及同时也是个人的事实相关。
但是我不理解那些语句之间的关系。
你的问题,使有很大的意义,它是不容易回答的问题。此外,OWL-DL和OWL-Full之间的区别并不固定。最初的东西在限制OWL有后来被允许的,最流行的情况之处在于punning。
但基本上,这个想法是要能写,推理,可以回答是或没有,避免不知道或“无限” 还不知道。这30分钟lecture on Tableaux Algorithm,也许其他几个之前在同一个球场后可能的帮助。
通过计算蕴涵封闭的方式,不可判定性和不可能性并不the same thing。
对于我来说,理解OWL完全不可判定性的最简单方法是查看OWL 2 DL全局限制,特别是简单角色部分:https://www.w3.org/TR/owl2-syntax/#Global_Restrictions_on_Axioms_in_OWL_2_DL。带有这些限制的OWL 2 DL是不可判定的,OWL 2 Full也包含这些限制。
这些幻灯片http://www.cs.man.ac.uk/~horrocks/Slides/ijcai-slides.pdf包含为什么放宽(一些)上述限制使逻辑不可判定的链接。
虽然OWL Full和OWL DL的数学构造函数的集合是相同的,但OWL Full对这些构造函数的使用没有限制;想一想使用传递性属性的缺乏限制来了解为什么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 ] .
现在,我们可以提出这样的问题:是:DoNotHaveThemselvesAsInstance
本身的一个实例?假设情况是这样的。然后:
是正确的。因此,:DoNotHaveThemselvesAsInstance
遵守它在与rdf:type
属性本身没有关系的类中的定义。所以这个假设是错误的。因此:DoNotHaveThemselvesAsInstance
必须与那些自己拥有rdf:type
的类别互补。所以它必须是:DoNotHaveThemselvesAsInstance
的一个实例。所以上面假设的关系应该成立。回到最初的步骤。因此,任何定义上面定义的类的本体都不可能有任何模型。所以不能有一类没有实例的类。或许,所有的类都有自己的实例,也许呢?但是有一些本体模型,其中一些类不是自己的实例。所以... OWL 2 Full是真的搞砸了,不是吗?