Basic owl reasoning using Jena
===

I'm new to ontologies and have a basic question about OWL reasoning. The question may seem long winded, sorry about that..

Consider an ontology with the following axioms
(owl:class C1) and (owl:class P), with an object property (rdfs:domain observes C1)(rdfs:range observes P), along with an individual (rdf:type p P)

I then restrict the class C1 by creating a class C2 (rdfs:subClassOf C2 C1)  with the restriction (observes C2 p)

Now when I then create a new individual (rdf:type x owl:Thing) (observes x p), then the reasoner infers that (rdf:type x C1). However, the definition of the individual x seems more close to C2 so should the reasoner not infer that x is of type C2?

Please help!

I'm experimenting using the Jena framework.