簡體   English   中英

在OWL中混合EquivalentClass和SubClass

[英]Mixing EquivalentClass and SubClass in OWL

我很想知道在Class描述中混合SubClassOf和EquivalentClass,以及推理器的行為方式。

具體來說,如果同時為同一個類同時擁有一個EquivalentClass和一個SubClassOf斷言,那么對於要在該類中分類的個體,還是只有EquivalentClass,才需要滿足EquivalentClass和SubClassOf條件?

或者這是一個不好的做法?

例如(省略聲明):

ObjectPropertyRange(:format :Bar)
ObjectPropertyRange(:format owl:Thing)
EquivalentClass(:Foo ObjectSomeValuesFrom(:format :Bar))
SubClassOf(:Foo :Sna)

我想確保在以下情況下, :x被歸類為:Foo ,因為同時滿足EquivalentClass和SubClassOf斷言:

ClassAssertion(:x :Sna)
ObjectPropertyAssertion(:format :x :someBar)

但是:y不是,因為SubClassOf不滿意:

ClassAssertion(:y :NotASna)
ObjectPropertyAssertion(:format :y :someOtherBar)

謝謝,

喬納森

我不完全理解您的問題,但我會嘗試澄清一些問題。 首先,下面的公理似乎與你的問題無關(而第二個是無用的,因為owl:Thing是任何財產的范圍):

ObjectPropertyRange(:format :Bar)
ObjectPropertyRange(:format owl:Thing)

另一件事是, EquivalentClasses -axioms可以被視為SubClassOf -axioms的語法糖,例如

EquivalentClasses(C1 C2)

在邏輯上等同於

SubClassOf(C1 C2)
SubClassOf(C2 C1)

因此,您可以將EquivalentClasses重寫為:

SubClassOf(ObjectSomeValuesFrom(:format :Bar) :Foo)
SubClassOf(:Foo ObjectSomeValuesFrom(:format :Bar))

這可能會簡化對本體構成的含義的理解。

現在,如果您說:

ClassAssertion(:x :Sna)
ObjectPropertyAssertion(:format :x :someBar)

我假設你想說:

ClassAssertion(:x :Sna)
ClassAssertion(:someBar :Bar)
ObjectPropertyAssertion(:format :x :someBar)

這需要:x:Foo:Sna ,這當然是可能的,因為:Foo:Sna的子類。

當你說

ClassAssertion(:y :NotASna)
ObjectPropertyAssertion(:format :y :someOtherBar)

我認為您的意思是:

ClassAssertion(:y :NotASna)
ClassAssertion(:someOtherBar :Bar)
DisjointClasses(:NotASna :Sna)
ObjectPropertyAssertion(:format :y :someOtherBar)

這是一個邏輯上的不一致,因為:y需要是:Foo (它是:Sna的子類),但同時:y被斷言為在與:Sna不相交的類中。

另請注意,我們沒有使用以下知識

SubClassOf(:Foo ObjectSomeValuesFrom(:format :Bar))

隨后是EquivalentClasses -axiom。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM