I want to make inferences such as the property represented by the grey-dotted line in this diagram:
I have asserted a general axiom:
(hasTaste some Bitter) SubClassOf: goesWellWith some (hasTaste some Sweet)
where 'bitter' is of type Bitter and 'sweet' is of type Sweet.
I thought owl:someValuesFrom (or Manchester's "some") meant that at least one such relation must exist. Yet this does not happen after making the bold diagram assertions and the general axiom.
How can I make this work?
EDIT (Edit 2, I figured it out)
I just thought of a super-property chain that works! I just specify
hasTaste o complements o isTasteOf
as a super property chain of goesWellWith. In fact, by making hasTaste, hasTexture, etc...all sub-properties of of a general hasTrait, then I can replace hasTaste and isTasteOf with hasTrait and isTraitOf, respectively:
hasTrait o complements o isTraitOf
The result captures every permutation of food properties complementing each other.