问题
Usually when we say "all of my children are female" we intend to imply "and there's at least one of them". The famed pizza tutorial (V1.3) addresses this on page 100 saying that it's usually an error to have a universal restriction (owl:allValuesFrom) without an existential restriction (owl:someValuesFrom).
owl:someValuesFrom is sort of a back-handed way of saying "and there's at least one". Is there any logical, performance or aesthetic reason not to instead use "owl:minCardinality"?
回答1:
owl:someValuesFrom is sort of a back-handed way of saying "and there's at least one". Is there any logical, performance or aesthetic reason not to instead use "owl:minCardinality"?
OWL is built on Description Logic, and one of the important aspects of the development of Description Logics has been examining the complexity of reasoning algorithms when different language features are present. Have a look, for instance, at the Description Logic Complexity Navigator where you see the complexity of different description logics.
Languages that have someValuesFrom but not minCardinality may be easier to reason in than those that have general cardinality restrictions (like minCardinality). Of course, you're right in observing that in OWL 2, where you have both, that we do have the equivalence ∃ p.C ≡ ≥1 p.C. In OWL 1, however, there were qualified existential restrictions, so you could use ∃ p.C, but no qualified cardinality restrictions. That is, you could say ≥1 p, but not ≥1 p.C. That means that in OWL 1, you can say
∃ hasChild.Female
and
≥1 hasChild
but not
≥1 hasChild.Female
That alone might be a good enough reason to prefer the ∃ version when all you need to say is "at least one"; you get backward compatibility, which may be very important for reasoners that support OWL 1, but not (all of) OWL 2.
来源:https://stackoverflow.com/questions/24629308/owlsomevaluesfrom-vs-owlmincardinalilty