Could OWL reasoner inherit ranges of data properties from parent properties?

247 Views Asked by At

Could OWL reasoner inherit ranges of data properties from parent properties?

For example, there is the data property "hasEventYear". It has the domain "Person" and the range "xsd:integer". When the subproperty "hasBirthYear" is added the reasoner tells that this subproperty has the domain "Person". About the range it tells nothing.

Is it normal?

The code below has been tested on Protege 5 and 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: You can hack Protege )) by adding:

Declaration(DataProperty(:hasDeathYear))
SubDataPropertyOf(:hasDeathYear :hasEventYear)
DataPropertyRange(:hasDeathYear xsd:string)

I've got the hasDeathYear domain is "Nothing" and the explanation:

hasEventYear Range: xsd:integer
hasDeathYear SubPropertyOf: hasEventYear
hasDeathYear Range: xsd:string
0

There are 0 best solutions below