Пролог веб-программирование - PullRequest
       16

Пролог веб-программирование

14 голосов
/ 25 сентября 2010

на работе обсуждалось использование пролога в качестве бэкэнда для механизма правил в веб-приложении. как это будет привязано к существующим системам? Существуют ли библиотеки прологов для других языков, позволяющие вызывать модули прологов.

Ответы [ 5 ]

10 голосов
/ 25 сентября 2010

Для SWI-Prolog вы можете посмотреть Thea2 , который поддерживает SWRL в Прологе, а также может быть подключен к внешним аргументам через JPL , например HermiT для рассуждений OWL / SWRL или Pellet и т. Д.

В личной заметке я использовал JPL Несколько раз в прошлом, чтобы включить веб-приложения с бэкэндом SWI-Prolog, который прекрасно работает, если вы собираетесь программировать свое веб-приложение, используя язык, который исполняется на JVM, например, Java, Groovy или Scala, например,Другая альтернатива - подключить SWI-Prolog к среде C или C ++ , которую я не пробовал для веб-приложения.

Если ваш веб-приложение использует другой язык разработки, который не работает на JVM или в C / C ++, тогда вам может показаться, что это неправильный путь, поскольку кажется немного сложнее подключить работающую среду SWI-Prolog к другому языку.сред.Тем не менее, мы уже успешно реализовали мост SWI-Prolog-to-что-нибудь, используя HTTP , но это не идеально, если производительность необходима.

6 голосов
/ 06 сентября 2012

swi-prolog включает в себя совершенно разумный HTTP-сервер / веб-фреймворк.

С ним можно общаться по HTTP.

Существуют инструменты для синтаксического анализа XML / SGML, JSON и ODBC

3 голосов
/ 25 сентября 2010

Я не уверен, что именно вы ищете, но вы можете захотеть взглянуть на Выход Prolog , который позволяет встраивать код Prolog в программы с использованием Python, C # или Javascript.API не задействован.Я сам этим не пользовался (пока), но это может подойти тому, что вы пытаетесь сделать.

2 голосов
/ 27 сентября 2010

LPA Prolog широко используется в различных коммерческих веб-приложениях, что особенно заметно в ведущем в отрасли продукте для сборки документов Business Integrity, DealBuilder

LPA, предоставляет различные архитектуры для доставки веб-приложений, некоторые из которыхпредставлены в разделе VisiRule на веб-сайте LPA www.lpa.co.uk

Clive

1 голос
/ 06 сентября 2012

Полагаю, важной предпосылкой для встраивания в Интернет, особенно на стороне сервера, является возможность мультидейдинга в системе Prolog.По крайней мере, вам это может понадобиться, если вы хотите одновременно обслуживать нескольких пользователей.

Затем вы можете выбрать либо чистое решение, где страницы создаются и обслуживаются самим Prolog.Или, может быть, для смешанного решения, где система Prolog используется только для некоторой бизнес-логики, а другой язык программирования используется для представления и / или хранения.

Следующая таблица сравнения Wiki даетобзор систем Prolog и того, являются ли они многопоточными и / или поддерживают ли некоторые веб-программирование:

Сравнение реализаций Prolog,
Операционная система и веб-функции

Для собственного решения этой проблемы я создал небольшой учебник, в котором показано использование среды выполнения Jekejeke для бизнес-логики на стороне сервера.Jekejeke Runtime достаточно гибок, вы можете не только иметь несколько потоков, вы также можете иметь несколько баз знаний.

Среда выполнения Jekejeke,
Методы развертывания

Среда выполнения Jekejeke, например, в настоящее время используется в продуктивной системе продаж, благодаря некоторым пользовательским блокировкам чтения / записи, она позволяетдаже удаленная горячая замена базы знаний администратором без перезапуска веб-контекста.К сожалению, пока нет сообщений об этом.

Пока

...