Я работаю над приложением на Java, которое должно делать некоторые сложные логические выводы в рамках своей функциональности. Я хотел бы закодировать мои логические выводы в Prolog или каком-либо другом языке программирования логики / ограничений вместо Java, так как я считаю, что полученный код будет значительно проще и более удобен в обслуживании.
Я гуглил для встроенных реализаций Java на Прологе и нашел их количество, у каждой из которых очень мало документации. Мои (скромные) критерии выбора:
- должен быть встраиваемым в Java (например, может быть связан с моим java-пакетом вместо того, чтобы требовать каких-либо собственных установок на внешние программы)
- простой интерфейс для использования из Java (для инициирования вычетов, проверки результатов и добавления правил)
- Приведите хотя бы несколько примеров того, как его использовать
- не обязательно должен быть прологом, но другие языки программирования логики / ограничения с вышеуказанными критериями тоже подойдут мне.
Какие у меня есть варианты и каковы их преимущества и недостатки?