OWL推理机可以从父属性继承数据属性的范围吗?
例如,存在数据属性“ hasEventYear”。 它具有域“ Person”和范围“ xsd:integer”。 当添加子属性“ hasBirthYear”时 推理机告诉此子属性具有域“人”。 关于范围,它什么也没说。
这正常吗?
以下代码已在Protege 5和隐士上进行了测试:
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