Вывод типа OWL с ограничением

Я изучаю понятие ограничений OWL в Protege 4, используя FaCT ++ и тривиальную онтологию. Предположим, у меня есть человекfoo классаSomething:

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

и другой класс, определенный из ограничения наhasBar свойство:

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

Если я утверждаю, что:

:x :hasBar :foo.

почему я не могу сделать вывод, чтоx этоSomethingElse (через тот факт, чтоfoo этоSomething)? Единственный способ заставить это работать, еслиrange изhasBar определено:

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

Но я хотел бы избежать этого, потому что это накладывает ограничение на то, что может быть предметомhasBar (что вызывает у меня дальнейшие неприятности).

Ответы на вопрос(1)

Ваш ответ на вопрос