OWL reasoning with numbers


I have following definitions (Manchester syntax)

# TBox --------------------------------------------------------------------

Class: :Child
     DisjointUnionOf:    :Boy, :Girl
     SubClassOf:            :hasAge only xsd:nonNegativeInteger[>=0, <=17]

Class: :Male
Class: :Female

Class: :Person
     DisjointUnionOf:    :Male, :Female

Class: :Boy
     EquivalentTo:        :Child AND :Male
Class: :Girl
     EquivalentTo:        :Child AND :Female

DataProperty: :hasAge
     Domain:                owl:Thing
     Range:                xsd:nonNegativeInteger
     Characteristics:    Functional

#ABox --------------------------------------------------------------------

Individual: :Lamprocles
     Types:                :Male
     Facts:                :hasAge "14"^^xsd:nonNegativeInteger

I am trying to infer following

Individual: :Lamprocles
     Types:    :Boy

Should that be possible, or is there some error in my thinking? Robot 
reasoner tool doesn't give explanation to this with any of the supported 
reasoners (HermiT, ELK...).

Other basic stuff works, such as
Individual: :Lamprocles
     Types:    :Person

Received on Friday, 15 October 2021 14:14:43 UTC