Я хотел бы услышать мнение людей, которые имеют реальный опыт программирования в использовании семантической библиотеки SWI-Prolog.
Изменить: Причина этого вопроса в том, что среди многих людей, с которыми я разговаривал с опытом пролога, большинство из них, похоже, использовали его для программирования ИИ в своих академических проектах. Я хотел знать, широко ли кто-то использовал его в производственной среде. Поскольку ремонтопригодность в реальном времени, производительность отличается от проекта, выполненного для получения хороших оценок.
Как вы интегрировались с таким языком программирования, как Java?
Изменить: как упоминалось в ответе, кажется, что службы REST или использование внешнего интерфейса SWI-Prolog - два лучших варианта.
Для чего вы использовали библиотеки пролога (в контексте семантической сети)?
Наверное, однозначного ответа на этот вопрос здесь не получите. Может быть, это вопрос семантического переполнения. Теперь у меня есть четкое представление, и я продолжу это обсуждение на более подходящем форуме.
Какая среда разработки использовалась? Emacs или его вариант, предоставляемый SWI-Prolog, кажется подавляющим ответом.
Мне никогда не нужна была IDE вроде Intellij IDEA для java. В конце концов, что бы я сделал, автозаполнение? Я понимаю необходимость языка, основанного на правилах. Опять же, причина, по которой я обсудил среду разработки, заключается в том, чтобы помочь мне отследить мое правило (отладить), а также, возможно, выявить аномалии в моих наборах знаний. Графический трассировщик SWI-Prolog удовлетворяет первое требование, но, по крайней мере, мне он показался дрянным и ограниченным. Но я не верю, что есть что-то еще.
Мне очень нравится идея использования SWI-Prolog, но я буду избегать ее, если это повлияет на производительность.
Как упоминалось в ответе, Prolog следует использовать для выполнения того, в чем он хорош. Я всегда знал это, и отсюда мой вопрос по интеграции с другими языками программирования. Кажется, что самая большая проблема в производительности - это качество разработчиков, которые находятся в стадии разработки. Проблемы в вашей системе могут быть неактивными, и их нелегко исправить, но с ними можно справиться с помощью набора вопросов для проверки достоверности вашей системы.
Примечание: когда я упоминаю ответ, я имею в виду ответ, предоставленный @littletable. Также для людей, интересующихся SWI-Prolog для семантической сети, интересно выглядит thea.