Выводы кода owl-api с использованием аргумента
Используя этот простой код в онтологии людей, я получил некоторые выводы, которые я не могу понять, как они даются, я знаю, что это делается путем логического вывода, так как я использую рассуждение, то, что я ищу, - это то, как он может сделайте связь между классом матери и ребенком, даже если в файле OWL нет четкой ссылки или ссылки между ними. Мне интересно, если вы можете помочь мне понять это, пожалуйста, я говорю о следующих выводах для кода:
Детский класс женщины: old_lady
Дочерний класс pet_owner: dog_owner
Дочерний класс pet_owner: cat_owner
Детский класс pet_owner: animal_lover
Детский класс для взрослых это: водитель
Детский класс для взрослых это: мужчина
Детский класс для взрослых это: женщина
Детский класс собаки: mad_cow
Детский класс тигра это: mad_cow
Детский класс овец это: mad_cow
Детский класс жирафа: mad_cow
Детский класс питомца: mad_cow
Детский класс кота: mad_cow
Детский класс утки это: mad_cow
Детский класс мозга это: mad_cow
Детский класс костей: mad_cow
Детский класс white_van_man это: mad_cow
Детский класс малыша это: mad_cow
Дочерний класс haulage_worker: haulage_truck_driver
for (OWLClass child : reasoner.getSubClasses(clazz, true).getFlattened()) {
if (!child.equals(clazz) && !child.isAnonymous() && !child.isBottomEntity()) {
System.out.println("Child class of "+ clazz.getIRI().getFragment()+ " is : " + child.getIRI().getFragment() );
Пожалуйста, если у вас есть идеи, которые могут помочь, я был бы благодарен. Спасибо