我一直在四處尋找一切爲什麼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是真的搞砸了,不是嗎?