Парсер запросов DL возвращает пустые значения для определенных запросов

Я пишу парсер запросов DL на Java. Код дает правильный вывод, когда я даю имя класса в качестве входных данных, но он ничего не возвращает, когда я даю запрос типа «значение hasColor Red» или «значение hasSugar Dry». Я использую OWLAPI.


person Community    schedule 15.10.2013    source источник
comment
Вы могли бы ответить на просьбы о разъяснении некоторых из ваших предыдущих вопросов, прежде чем задавать новые вопросы (но это не обязательно)… Помимо этого, я ожидаю, что это потому, что нет людей с красным цветом или с сахаром. Сухой. Однако мы не сможем сказать, пока не увидим ваши данные. Мы можем увидеть ваши данные? В конце концов, вопросы, касающиеся проблем с написанным вами кодом, должны описывать конкретную проблему — и включать действительный код для ее воспроизведения — в самом вопросе.   -  person Joshua Taylor    schedule 16.10.2013
comment
Слишком много возможных источников описанной проблемы, чтобы дать осмысленный ответ. Возможные варианты: hasColor или Red не объявлены в онтологии или отсутствуют экземпляры этих классов. Вам нужно предоставить часть кода, который вы написали, чтобы устранить неоднозначность.   -  person Ignazio    schedule 16.10.2013


Ответы (1)


Предполагается, что вы используете этот код в качестве примера.

Кажется, что вы используете структурный резонатор по умолчанию. Вам следует включить более сложный механизм рассуждений, например, HermiT.

Сначала загрузите и добавьте банку в свой путь к классам, затем замените строку 178:

OWLReasonerFactory reasonerFactory = new StructuralReasonerFactory();

by

OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory();

Он должен работать! Посмотрите этот ответ для получения более подробной информации о это решение, как упомянул @Joshua в комментариях.

person loopasam    schedule 15.10.2013
comment
@DipinAzhikodan ничего не упомянул о каком-либо конкретном исходном коде. Где вы видите что-нибудь о строке 178? Возможно, он основан на коде, на который ссылались здесь? - person Joshua Taylor; 16.10.2013
comment
Да, извините, основываясь на симптомах, я предположил, что OP столкнулся с этой проблемой (как вы правильно заметили, видел много раз - я соответствующим образом редактирую ответ). - person loopasam; 16.10.2013
comment
В данном случае это разумное предположение. Я видел похожие проблемы из-за того, что я оставил StructuralReasoner в примере, всплывающем в списке рассылки OWLAPI, но мне не удалось найти ссылку здесь. Я попытаюсь добавить пример в вики OWLAPI и дать ссылку на него. - person Ignazio; 16.10.2013