Median Hilal
Median Hilal

Reputation: 1531

OWL ontology modeling; specific advanced issue

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!

Upvotes: 1

Views: 56

Answers (1)

Joshua Taylor
Joshua Taylor

Reputation: 85813

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?

You want to be able to infer that if a model is shown at a maker exhibition for a particular maker, then that model has the same maker. That is, from

    ?model ←hasExhibitionModel ?exhibition →hasExhibitionMaker ?maker

you want to infer that

    ?model →hasMaker ?maker

You can do this using a subproperty axiom:

    (inverse hasExhibitionModel) hasExhibitionMaker SubPropertyOf hasMaker

See the following questions for some more examples:

Upvotes: 1

Related Questions