1

考虑到我们正在使用以下概念对域进行建模:Maker这是一个汽车生产商,Model它是一个特定的模型,它是一个hasMaker特定的独特的Maker。并考虑 MakerExhibition,这是一种由一个人完成的展览,可以展示Maker多个ModelMaker

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

问题:如何限制(在 Protege 中使用 DL 或 OWL 语法)Model出现在MakerExhibitionthrough的任何内容hasExhibitionModel必须相同MakerExhibition Maker

例如,一辆宝马车上,我们不能展示一辆奔驰车MakerExhibitionMaker ModelMaker

4

1 回答 1

1

问题:如何限制(在 Protege 中使用 DL 或 OWL 语法)通过 hasExhibitionModel 出现在 MakerExhibition 上的任何模型必须具有相同的 MakerExhibition Maker?

您希望能够推断,如果某个模型在特定制造商的制造商展览中展示,那么该模型具有相同的制造商。也就是说,从

    ?model ← hasExhibitionModel ?exhibition → hasExhibitionMaker ?maker

你想推断

    ?model → hasMaker ?maker

您可以使用子属性公理来做到这一点:

    (hasExhibitionModel) hasExhibitionMaker SubPropertyOf hasMaker

有关更多示例,请参见以下问题:

于 2016-06-14T18:53:52.893 回答