Как выразить, что экземпляры с одинаковыми значениями разных классов являются экземплярами другого класса?
У меня есть четыре класса: 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
свойство данных.