Consider that we are modeling a domain with the follwoing concepts: Maker which is a car producer, Model which is a specific model which hasMaker a specific unique Maker. And consider MakerExhibition which is a kind of exhibition that is done by a single Maker and could show multiple Model of this Maker:
Model, Maker, MakerExhibition
hasMaker domain Model
hasMaker range Maker
Model subClassOf hasMaker exactly 1 Maker
hasExhibitionMaker domain MakerExhibition
hasExhibitionMaker range Maker
hasExhibitionModel domain MakerExhibition
hasExhibitionModel range Model
MakerExhibition subClassOf hasExhibitionMaker exactly 1 Maker
QUESTION: How to restrict (using DL or OWL syntax in Protege) that any Model that appears at at MakerExhibition through hasExhibitionModel must have the same MakerExhibition Maker?
For example, at a MakerExhibition for the Maker BMW, we cannot show a Model of the Maker Mercedes!