1

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
4

0 回答 0