Programmation relationnelle / logique en Python?
Je suis un développeur python de longue date et j'ai récemment été introduit dans Prolog. J "aime le concept d" utiliser des règles de relation pour certains types de tâches, et je voudrais ajouter à mon répertoire.
Existe-t-il de bonnes bibliothèques pour la programmation logique en Python? J'ai fait quelques recherches sur Google mais j'ai seulement trouvé ce qui suit:
La série de blog de jtauber sur relational_python
Aimerait comparer à d'autres...Merci!
-aj
7 réponses
Peut-être que vous devriez google "programmation logique en Python". Pyke semble prometteur:
Pyke introduit une forme de programmation logique (inspirée de Prolog) pour la communauté Python en fournissant un moteur d'inférence basé sur la connaissance (système expert) écrit en 100% Python.
Contrairement à Prolog, Pyke s'intègre à Python vous permettant d'invoquer Pyke de Python et entremêler des instructions et des expressions Python dans règles de votre système expert.
Vous pouvez utiliser pyDatalog , une bibliothèque de programmation logique que J'ai développée pour Python implémentant Datalog. Il fonctionne également avec SQLAlchemy pour interroger des bases de données relationnelles à l'aide de clauses logiques.
LogPy est une implémentation de miniKanren , un langage de programmation relationnel, en Python. Il suit dans la tradition de core.logic
, la solution de programmation logique prééminente dans Clojure. LogPy a été conçu pour l'interopérabilité avec les bases de code préexistantes.
Vous pouvez également regarder Dee, qui ajoute des relations à Python: http://www.quicksort.co.uk
Vous devriez également vérifier PyLog:
Il a une syntaxe et une implémentation très propres et simples.