Зависимость свойств данных в Protege

Может ли кто-нибудь предоставить примеры того, какие (если таковые имеются) зависимости между свойствами данных мы можем объявить в Protege? По сути, я пытаюсь объявить простые правила, например, что одно свойство данных (год) может быть или не быть раньше другого (например, год рождения <= год смерти). Возможно ли это сделать с помощью свойств данных?

1 ответ

Единственные зависимости, которые могут быть выражены между DataProperties, это свойства subproperty и disjointness. SWRLTab в Protege может быть использован для выражения правил. Предполагая следующую онтологию:

ObjectProperty: hasDeathCertificate
  Domain: Person
  Range: DeathCertificate
DataProperty: dateOfBirth
  Domain: Person 
Range: xsd:dateTime
DataProperty: dateOfDeath
  Domain: DeathCertificate
  Range: xsd:dateTime
Class: DeathCertificate    
Class: Person

следующее правило SWRL может быть указано, чтобы гарантировать, что дата смерти в сертификате DeathCertificate будет после даты рождения человека.

Person(?p)^dateOfBirth(?p, ?birth)^DeathCertificate(?d)^dateOfDeath(?p, ?death)
^swrlb:greaterThan(?death, ?birth)->hasDeathCertificate(?p, ?d)

Удачи!

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