Inferência do tipo OWL com restrição
Eu estou estudando a noção de restrições de OWL com o Protege 4 usando FaCT ++ e uma ontologia trivial. Suponha que eu tenha um indivíduofoo
de aulaSomething
:
:Something a owl:Class.
:foo a :Something, owl:NamedIndividual.
e outra classe definida a partir de uma restrição nohasBar
propriedade:
:hasBar a owl:ObjectProperty.
:SomethingElse owl:equivalentClass [a owl:Restriction;
owl:onProperty :hasBar;
owl:allValuesFrom :Something].
Se afirmo que:
:x :hasBar :foo.
Por que não consigo deduzirx
é umSomethingElse
(via o fato de quefoo
é umSomething
) A única maneira de fazer isso funcionar é se orange
dohasBar
é definido:
:hasBar a owl:ObjectProperty;
rdfs:range :Something.
Mas eu gostaria de evitar isso, porque coloca uma restrição sobre o que pode ser o assunto dehasBar
(o que me causa mais problemas).