Реляционное/логическое программирование на Python?
Я давний разработчик python и недавно был представлен Prolog. Мне нравится концепция использования правил отношений для определенных видов задач и хотелось бы добавить это в свой репертуар.
Есть ли хорошие библиотеки для логического программирования в Python? Я сделал поиск в Google, но нашел только следующее:
серия блога jtauber на relational_python
Хотелось бы сравнить с некоторыми другими... спасибо!
-aj
Ответы
Ответ 1
Возможно, вам нужно google "Программирование логики в Python". Pyke выглядит многообещающим:
Pyke представляет собой форму логического программирования (вдохновленного Prolog) на сообщества Python, предоставляя основанный на знаниях механизм вывода (экспертная система), написанная на 100% Python.
В отличие от Prolog, Pyke интегрируется с Python, позволяя вам вызывать Pyke из Python и intermingle инструкций и выражений Python внутри правила вашей экспертной системы.
Ответ 2
Вы можете использовать pyDatalog, библиотеку логического программирования, которую я разработал для Python, реализующий Datalog. Он также работает с SQLAlchemy для запроса реляционных баз данных с использованием логических предложений.
Ответ 3
Вы также можете посмотреть на Dee, который добавляет отношения к Python: http://www.quicksort.co.uk
Ответ 4
Недавняя реализация Prolog в Python (или, скорее, RPython) в
Pyrolog. Это все еще довольно экспериментально.
Ответ 5
Другим вариантом является Выходной протокол
Ответ 6
Вы также должны проверить PyLog:
http://cdsoft.fr/pylog/
Он имеет очень чистый и простой синтаксис и реализацию.
Ответ 7
LogPy - это реализация miniKanren, язык реляционного программирования, в Python. Из традиции core.logic
следует, что это главное решение логического программирования в Clojure. LogPy был разработан для взаимодействия с уже существующими кодовыми базами.