Протеже Сова: ограничения для физических лиц

У меня небольшая проблема с моей онтологией! Мы работаем над онтологией, которая управляет умным домом. Итак, у нас есть такие объекты, как Столы, Двери, Лампы, .... Умный объект имеет:

  • привод, который запускает действие, например, открытие двери
  • датчик, который получает информацию о температуре, например

У меня есть ObjectProperties, например: hasActuator --> Door hasActuator DoorController

Итак, теперь проблема в людях! Я хотел бы, чтобы объект (например, Door_1) имел привод DoorController_1, но другая дверь (Door_2) не могла использовать привод DoorController_1, потому что он уже использует !

Как я могу это лечить? Какие ограничения?

Если я поставлю функционал hasActuator, то это только для того, чтобы сказать, что у объекта может быть только один актуатор, а это не то, что я хочу!


person Kheenro    schedule 11.12.2013    source источник


Ответы (1)


Краткое решение

Похоже, вы пытаетесь сказать, что сущность не может использоваться более чем одной вещью одновременно. Это кандидат на InverseFunctionalProperties. Если вы скажете, что

Использует обратное функциональное свойство
дверь1 использует контроллер1
дверь1 ≠ дверь2

Тогда вы можете сделать вывод, что

нет (дверь1 использует контроллер1)

Как это работает

Заявление о том, что свойство p является обратным функциональным свойством, означает, что

Функциональный(p): если p(x,y) & p(x,z) то y = z

Утверждение, что свойство p является обратной функцией, аналогично, но говорит, что

Обратный функционал(p): если p(x,z) & p(y,z) то x = y

Итак, предположим, что у вас есть данные:

использует(дверь1,контроллер1)
дверь1 ≠ дверь2

Теперь рассмотрим гипотезу о том, что

использует(дверь2,контроллер1)

Из него и данных можно вывести

дверь1 = дверь2

Но из данных, которые у нас уже есть

дверь1 ≠ дверь2

а это противоречие, поэтому гипотеза должна быть ложной. Следовательно:

не(использует(дверь2,контроллер1))

person Joshua Taylor    schedule 11.12.2013