I'm curious about mixing SubClassOf and EquivalentClass in a Class description, and how a reasoner would behave.
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?
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:
ClassAssertion(:x :Sna)
ObjectPropertyAssertion(:format :x :someBar)
But :y
is not, because the SubClassOf is not satisfied:
ClassAssertion(:y :NotASna)
ObjectPropertyAssertion(:format :y :someOtherBar)
Thanks,
Jonathan