Редактировать: Ясность - загружается основной файл .pl, это все подфайлы, которые ему было сказано загрузить, но которые не загружаются. (все консультации('subfile.pl').)
У меня есть проект Java, который использует tuProlog. Он называет теорию как:
Theory theory = new Theory(":-consult('main.pl').");
engine.setTheory(theory);
Это согласно мануалу. file.pl находится в той же папке, что и другие файлы пролога. Внутри main.pl у меня есть еще
consult('otherfile.pl').
операторы для загрузки дополнительных файлов (несколько).
Структура папок такова:
src/main.pl
src/Prolog_Files/otherfile.pl (multiple)
src/main/java/JavaStuff
Я не могу заставить движок загружать теории, о которых я сказал, чтобы они консультировались внутри основного файла.pl
- Я пробовал: указать абсолютный путь, а не просто имя файла.
- перемещение файлов вокруг.
Мне интересно, есть ли что-то в использовании tuProlog, которого я не понимаю?
Теория работает при загрузке:
Theory theory = new Theory(new FileInputStream(url_of_file)).
Однако это вызывает у меня проблемы при создании jar, так как он не может найти местоположение файла.
Я пытаюсь правильно загрузить файл? Являются ли мои консультации внутри основного файла .pl правильными?
Может ли кто-нибудь опубликовать пример того, как это должно быть сделано, если нет? В мануале эта тема не раскрыта.
Спасибо