As a general bit of advice, you may have more success doing this using
SQWRL rather than SPARQL.
SPARQL operates at the syntactic level of the serialization of your
OWL knowledge base. But since there are multiple, semantically
equivalent ways to serialize an OWL model, you may not be able to
predict exactly what the syntactic form will be. So you might have to
write queries that handle all of the variants.
Or you could use a query language like SQWRL which understands the
semantics and operates on that.