Реляционное / логическое программирование на Python?

Я давний разработчик python и недавно был представлен в Prolog. Мне нравится концепция использования правил отношений для определенных задач, и я хотел бы добавить это в свой репертуар.

есть ли хорошие библиотеки для логического программирования в Python? Я сделал поиск в Google, но нашел только следующее:

блог серии jtauber на relational_python

хотел бы сравнить с некоторыми другие...спасибо!

- aj

7 ответов


Возможно, вам следует google "логическое программирование на Python". пайка выглядит многообещающе:

Pyke вводит форму логического программирования (вдохновленную Prolog) для сообщество Python, предоставляя механизм вывода на основе знаний (экспертная система) написана на 100% Python.

В отличие от Prolog, Pyke интегрируется с Python, позволяя вам вызывать Pyke из Python и intermingle Python операторы и выражения внутри ваша экспертная система правила.


вы можете использовать pyDatalog, библиотека логического программирования, которую я разработал для реализации Python Datalog. Он также работает с SQLAlchemy для запроса реляционных баз данных с использованием логических предложений.


другой вариант:Yield Prolog


LogPy реализация miniKanren, реляционный язык программирования, в Python. Это следует в традиции core.logic, выдающееся логическое программное решение в Clojure. LogPy был разработан для взаимодействия с уже существующими кодовыми базами.


вы также можете посмотреть на Ди, который добавляет отношения к Python:http://www.quicksort.co.uk


недавняя реализация Пролога в Python (или, скорее, RPython) в Pyrolog. Это все еще довольно экспериментально.


вы также должны проверить PyLog:

http://cdsoft.fr/pylog/

Он имеет очень чистый и простой синтаксис и реализации.