为什么OWL Full不可判定?

时间:2017-10-14 02:47:43

标签: owl semantic-web description-logic decidable

我一直在四处寻找为什么OWL Full是不可判断的,但我还没有找到一个容易理解的例子来引导我理解它。

我发现了一些陈述,说明这是由于" Entailment Closure"这也与OWL Full可以拥有属性的类同时也是个人的事实有关。

但我不理解这些陈述之间的关系。

4 个答案:

答案 0 :(得分:3)

这是一个足以理解为什么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  a  :DoNotHaveThemselvesAsInstance .

是真的。因此,:DoNotHaveThemselvesAsInstance遵守定义,即它在与rdf:type属性本身没有关系的类中。所以假设是错误的。因此,:DoNotHaveThemselvesAsInstance必须与那些自己rdf:type的类相互补充。所以它必须是:DoNotHaveThemselvesAsInstance的一个实例。所以上面假设的关系应该成立。回到最初的一步。因此,对于定义上面定义的类的任何本体,都不可能存在任何模型。所以不可能有一类没有自己作为实例的类。或许,也许所有类都有自己的实例?但是有一些本体模型,其中一些类不是它们自己的实例。所以... OWL 2 Full真的搞砸了,不是吗?

答案 1 :(得分:2)

你的问题很有意义,而且回答并不容易。此外,OWL-DL和OWL-Full之间的区别并不固定。 OWL最初限制的东西后来被允许,最受欢迎的情况是punning

但基本上,我的想法是能够编写一个可以回答没有的推理者并避免不知道或者"无限" 还不知道。这30分钟lecture on Tableaux Algorithm以及在同一课程之前和之后的其他几个人可能会有所帮助。

顺便说一句,计算蕴涵关闭的不可判断性和不可能性不是the same thing

答案 2 :(得分:2)

虽然OWL Full和OWL DL的数学构造函数集相同,但OWL Full对这些构造函数的使用没有限制;考虑到使用传递属性的限制,以了解为什么OWL Full是不可判定的。

答案 3 :(得分:1)

对我来说,理解OWL Full不可判定性的最简单方法是查看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包含为什么放宽(某些)上述限制会使逻辑不可判定的链接。