Как выразить, что экземпляры с одинаковыми значениями разных классов являются экземплярами другого класса?

У меня есть четыре класса: A, B, C и S. Класс A имеет предполагаемые экземпляры i1 и i2, которые основаны на условии числового значения (в эквиваленте To). Класс B имеет предполагаемые экземпляры i3 и i4, которые основаны на условии числового значения (в эквиваленте To). A и B являются подклассами S.

Каждый экземпляр имеет значение xsd:dateTime.

Я хотел бы смоделировать, что каждый экземпляр из A и B, которые имеют равное значение xsd:dateTime, также являются экземплярами (выведенными) из класса C. Как мне моделировать такое выражение с Protege?

Заранее спасибо.

1 ответ

Вам придется использовать SWRL для этого. На вкладке SWRL в Protege добавьте следующее правило:

A(?a) ^ B(?b) ^ hasDateTime(?a, ?aDateTime) ^ hasDateTime(?b, ?bDateTime) ^ 
   swrlb:equal(?aDateTime, ?bDateTime) -> C(?a) ^ C(?b)

при условии, что у вас есть hasDateTime свойство данных.

Другие вопросы по тегам