有人可以提供我们可以在Protege中声明的数据属性之间具有哪种(如果有)依赖关系的示例? 基本上我要做的是宣布简单的规则,例如一个数据属性(年)可以或不可能在另一个之前(如出生年份< =死亡年份)。是否可以使用数据属性完成?
答案 0 :(得分:0)
DataProperties之间唯一可以表达的依赖项是子属性和不相交属性。 Prote中的SWRLTab可用于表达规则。假设以下本体:
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)
祝你好运!