2013-06-26 9 views
7

Ich möchte ein Python-Skript als Frontend für ein Prolog-Programm verwenden, das die SWI-PL-Engine verwendet. SoPython-Schnittstelle mit SWI-Prolog

, sind die Komponenten der Einrichtung:

Ich habe geschaut, um für eine Schnittstelle zwischen SWI -PL und Python. Was ich gefunden habe sind:

PySwip aber es scheint zu fehlen, was ich von alten Fragen hier sehe, und scheint auch nicht unterstützt.

PyLog, die neuer scheint, aber auch etwas Aktivität hat. Obwohl ich nicht weiß, wie gut es ist.

Wie wird Python für die Kommunikation mit SWI-Prolog empfohlen? Gibt es vielleicht andere Möglichkeiten, dies zu erreichen? Vielleicht mit einem anderen Prolog-Engine?

Ich stecke mit der Prolog-Sprache und Python fest, weil ich sie am besten kenne, also wäre das nötig (ich weiß zum Beispiel gibt es auch Tools für Java).

Antwort

9

Ich habe PySWIP erfolgreich selbst verwendet. Here's a link zu einem Projekt, das ich für meine AI-Klasse in der Universität gemacht habe, in der ich PySWIP verwendete.

Ich denke der Unterschied ist, dass PySWIP eine Brücke ist (senden Sie einfach Abfragen an eine Prolog-Datenbank und erhalten Antworten), während PyLog scheint eine Implementierung von Prolog (oder eine integrierte Prolog-Engine) in Python, mit Abstraktionen auf Prolog-Code mit Objekten.

Ich habe keine besondere Empfehlung für Sie. Wählen Sie, je nachdem, was Sie für Ihr Projekt halten. Berücksichtigen Sie die Lizenzen, unter denen diese Bibliotheken veröffentlicht werden, wenn Sie sich um die Lizenz Ihres Codes sorgen müssen.