简体   繁体   English

在OWL中混合EquivalentClass和SubClass

[英]Mixing EquivalentClass and SubClass in OWL

I'm curious about mixing SubClassOf and EquivalentClass in a Class description, and how a reasoner would behave. 我很想知道在Class描述中混合SubClassOf和EquivalentClass,以及推理器的行为方式。

Specifically, if I have both an EquivalentClass and a SubClassOf assertion for the same Class, do both the EquivalentClass AND the SubClassOf conditions need to be satisfied for an individual to be classified in that Class, or only the EquivalentClass? 具体来说,如果同时为同一个类同时拥有一个EquivalentClass和一个SubClassOf断言,那么对于要在该类中分类的个体,还是只有EquivalentClass,才需要满足EquivalentClass和SubClassOf条件?

Or is this a bad practice? 或者这是一个不好的做法?

For example (Declarations omitted): 例如(省略声明):

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

I want to ensure that in the case below, :x is classified as :Foo , because both the EquivalentClass and SubClassOf assertions are satisfied: 我想确保在以下情况下, :x被归类为:Foo ,因为同时满足EquivalentClass和SubClassOf断言:

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

But :y is not, because the SubClassOf is not satisfied: 但是:y不是,因为SubClassOf不满意:

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

Thanks, 谢谢,

Jonathan 乔纳森

I don't completely understand your question but I'll try to clarify some things. 我不完全理解您的问题,但我会尝试澄清一些问题。 First of all, the following axioms seem irrelevant for your question (and the second is redundant anyway because owl:Thing is any property's range): 首先,下面的公理似乎与你的问题无关(而第二个是无用的,因为owl:Thing是任何财产的范围):

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

The other thing is that the EquivalentClasses -axioms can be seen as a syntactic sugar for SubClassOf -axioms, eg 另一件事是, EquivalentClasses -axioms可以被视为SubClassOf -axioms的语法糖,例如

EquivalentClasses(C1 C2)

is logically equivalent to 在逻辑上等同于

SubClassOf(C1 C2)
SubClassOf(C2 C1)

So you can rewrite your EquivalentClasses as: 因此,您可以将EquivalentClasses重写为:

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

This would maybe simplify understanding of what entailments your ontology makes. 这可能会简化对本体构成的含义的理解。

Now, if you say: 现在,如果您说:

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

I am assuming that you want to say: 我假设你想说:

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

This entails that :x is both :Foo and :Sna , which is certainly possible because :Foo is a subclass of :Sna . 这需要:x:Foo:Sna ,这当然是可能的,因为:Foo:Sna的子类。

When you say 当你说

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

I assume that you mean: 我认为您的意思是:

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

This is a logical inconsistency because :y is entailed to be a :Foo (which is a subclass of :Sna ), but at the same time :y is asserted to be in a class that is disjoint from :Sna . 这是一个逻辑上的不一致,因为:y需要是:Foo (它是:Sna的子类),但同时:y被断言为在与:Sna不相交的类中。

Note also that we didn't use the knowledge that 另请注意,我们没有使用以下知识

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

which followed from the EquivalentClasses -axiom. 随后是EquivalentClasses -axiom。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM