Реляционное / логическое программирование на Python? - PullRequest
34 голосов
/ 16 декабря 2009

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

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

Серия блогов jtauber на реляционном_пытоне

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

-aj

Ответы [ 8 ]

13 голосов
/ 05 июля 2012

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

11 голосов
/ 17 декабря 2009

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

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

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

3 голосов
/ 09 мая 2013

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

3 голосов
/ 29 марта 2012

Другой вариант - Пролог доходности

2 голосов
/ 16 ноября 2012

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

http://cdsoft.fr/pylog/

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

2 голосов
/ 29 марта 2012

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

2 голосов
/ 15 октября 2010

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

1 голос
/ 26 ноября 2018

Поскольку мы приближаемся к 2019 году, я рекомендую PySWIP над другими, рекомендованными здесь. Он активно поддерживается и имеет простой интерфейс, в отличие от Pyke (9 лет назад) или PyLog (6 лет назад).

...