2016-06-14 14 views
1

Учтите, что мы моделируем домен с использованием следующих концепций: Maker, который является производителем автомобилей, Model, который является конкретной моделью, которая hasMaker специфическим уникальным Maker. И считают MakerExhibition, который является своего рода выставка, которая проводится с помощью одного Maker и может показать несколько Model этого Maker:Моделирование онтологий OWL; конкретный расширенный выпуск

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 

ВОПРОС: Как ограничить (с использованием DL или OWL синтаксис в Protege), что любой Model, который отображается по адресу MakerExhibition, по адресу: hasExhibitionModel, должен иметь то же самое MakerExhibitionMaker?

Например, на MakerExhibition для MakerBMW, мы не можем показать Model из MakerMercedes!

ответ

1

ВОПРОС: Как ограничить (используя DL или синтаксис OWL в Protege), что любая модель, которая появляется в MakerExhibition через hasExhibitionModel должны иметь один и тот же MakerExhibition чайник?

Вы хотите, чтобы иметь возможность сделать вывод, что если модель показана на выставке производителя для конкретного производителя, того, что модель имеет один и тот же производитель. То есть от

       ? Модель и лев. естьExhibitionModel? Выставляется & rightarrow; hasExhibitionMaker производитель

вы хотите сделать вывод, что

        модель & СтрелкаВправо?; hasMaker производитель

Вы можете сделать это с помощью Подствойства аксиомы:

        (обратного hasExhibitionModel) & пули; hasExhibitionMaker SubPropertyOf hasMaker

Смотрите следующие вопросы еще несколько примеров:

+0

мне нужно ** ограничить **, ** не выводить * *. Вы говорите, что если «Модель» появляется в «MakerExhibition», мы делаем вывод, что эта «Модель» имеет «Создатель» через «hasMaker», который является тем же самым производителем выставки «hasExhibitionMaker».Хотя я хочу, чтобы, если '' Model' появляется в 'MakerExhibition', тогда мы * проверяем *, если у этой' Модели' есть 'Maker' через' hasMaker', который является тем же самым производителем выставки 'hasExhibitionMaker', если это * check * не верно, то онтология непоследовательна! –

+1

@medianhilal в вопросе, который вы сказали, что свойство должно иметь * точно * одно значение. Эта конструкция дает нам возможность превысить значение, которое должно иметь свойство. Если кто-то также утверждал что-то еще, то онтология становится непоследовательной. Вставляя правильное значение, любое другое значение делает онтологию непоследовательной. –

+0

Существует два момента: 1. Этот способ не может быть реализован на основе текущих аргументов, поскольку утверждение ограничений мощности на составные свойства не подходит. Поскольку у нас есть 'Model subClassOf hasMaker точно 1 Maker', мы не можем утверждать' (inverse hasExhibitionModel) • hasExhibitionMaker SubPropertyOf hasMaker'. Есть ли другой способ, сохраняя эти обе идеи, но, возможно, используя разные утверждения? –

 Смежные вопросы

  • Нет связанных вопросов^_^