Учтите, что мы моделируем домен с использованием следующих концепций: 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
, должен иметь то же самое MakerExhibition
Maker
?
Например, на MakerExhibition
для Maker
BMW, мы не можем показать Model
из Maker
Mercedes!
мне нужно ** ограничить **, ** не выводить * *. Вы говорите, что если «Модель» появляется в «MakerExhibition», мы делаем вывод, что эта «Модель» имеет «Создатель» через «hasMaker», который является тем же самым производителем выставки «hasExhibitionMaker».Хотя я хочу, чтобы, если '' Model' появляется в 'MakerExhibition', тогда мы * проверяем *, если у этой' Модели' есть 'Maker' через' hasMaker', который является тем же самым производителем выставки 'hasExhibitionMaker', если это * check * не верно, то онтология непоследовательна! –
@medianhilal в вопросе, который вы сказали, что свойство должно иметь * точно * одно значение. Эта конструкция дает нам возможность превысить значение, которое должно иметь свойство. Если кто-то также утверждал что-то еще, то онтология становится непоследовательной. Вставляя правильное значение, любое другое значение делает онтологию непоследовательной. –
Существует два момента: 1. Этот способ не может быть реализован на основе текущих аргументов, поскольку утверждение ограничений мощности на составные свойства не подходит. Поскольку у нас есть 'Model subClassOf hasMaker точно 1 Maker', мы не можем утверждать' (inverse hasExhibitionModel) • hasExhibitionMaker SubPropertyOf hasMaker'. Есть ли другой способ, сохраняя эти обе идеи, но, возможно, используя разные утверждения? –