繁体   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