2013-06-26 34 views
7

Desidero utilizzare uno script Python come interfaccia di un programma Prolog che utilizza il motore SWI-PL.Interfaccia Python con SWI-Prolog

Quindi, i componenti della configurazione sono:

Ho cercato in giro per un'interfaccia tra SWI -PL e Python. Quello che ho trovato sono:

PySwip ma sembra mancare da quello che vedo dalle vecchie domande qui, e sembra anche non supportato.

PyLog, che sembra più recente ma ha anche qualche attività. Anche se non so quanto sia bello.

Qual è il modo consigliato di utilizzare Python per comunicare con SWI-prolog? Ci sono forse altri modi per farlo? Forse con un altro motore prolog?

Sono bloccato con il linguaggio Prolog e Python perché li conosco meglio, quindi sarebbe necessario (so che ad esempio ci sono anche strumenti per Java).

risposta

9

Personalmente ho usato PySWIP con successo. Here's a link a un progetto che ho fatto per la mia classe di intelligenza artificiale all'università in cui ho usato PySWIP.

Penso che la differenza sia che PySWIP è un bridge (basta inviare query a un database Prolog e ottenere risposte) mentre PyLog sembra essere un'implementazione di Prolog (o un motore Prolog incorporato) in Python, con astrazioni su Codice Prolog usando oggetti

Non ho raccomandazioni particolari per voi. Scegli quello che ritieni adatto al tuo progetto. Considera le licenze con cui queste librerie sono pubblicate se ti devi preoccupare della licenza del tuo codice.