OWL 推理器可以从父属性继承数据属性范围吗?
例如,有数据属性“hasEventYear”。它具有域“Person”和范围“xsd:integer”。当添加子属性“hasBirthYear”时,推理器告诉该子属性具有域“Person”。关于范围它什么也没说。
正常吗?
下面的代码已经在 Protege 5 和 Hermit 上进行了测试:
Declaration(Class(:Person))
Declaration(DataProperty(:hasBirthYear))
Declaration(DataProperty(:hasEventYear))
SubDataPropertyOf(:hasBirthYear :hasEventYear)
SubDataPropertyOf(:hasEventYear owl:topDataProperty)
DataPropertyDomain(:hasEventYear :Person)
DataPropertyRange(:hasEventYear xsd:integer)
UPD:您可以通过添加以下内容来破解 Protege )):
Declaration(DataProperty(:hasDeathYear))
SubDataPropertyOf(:hasDeathYear :hasEventYear)
DataPropertyRange(:hasDeathYear xsd:string)
我的 hasDeathYear 域是“Nothing”,解释如下:
hasEventYear Range: xsd:integer
hasDeathYear SubPropertyOf: hasEventYear
hasDeathYear Range: xsd:string