Inferencia de tipo OWL con una restricción

Estoy estudiando la noción de restricciones OWL con Protege 4 usando FaCT ++ y una ontología trivial. Supongamos que tengo un individuofoo de claseSomething:

:Something a owl:Class.
:foo a :Something, owl:NamedIndividual.

y otra clase definida a partir de una restricción en elhasBar propiedad:

:hasBar a owl:ObjectProperty.
:SomethingElse owl:equivalentClass [a owl:Restriction;
                                    owl:onProperty :hasBar;
                                    owl:allValuesFrom :Something].

Si afirmo que:

:x :hasBar :foo.

¿Por qué no puedo inferir quex es unSomethingElse (a través del hecho de quefoo es unSomething)? La única manera de hacerlo funcionar es si elrange dehasBar se define:

:hasBar a owl:ObjectProperty;
        rdfs:range :Something.

Pero me gustaría evitar eso, porque restringe lo que puede ser el tema dehasBar (lo que me causa más problemas).

Respuestas a la pregunta(1)

Su respuesta a la pregunta