【发布时间】:2022-01-21 15:24:19
【问题描述】:
要在 python 中调用 prolog 程序,有 pyswip 库。
如果给定值的规则为真或假,是否有可能获取信息。如果我从 swipl 调用控制台中的一个事实,我会得到例如
?- dad(a). true.
如果我在 python 中尝试同样的方法:
从 pyswip 导入 Prolog, registerForeign
from pyswip import Prolog
prolog = Prolog()
prolog.assertz("dad(peter)")
for res in prolog.query("dad(peter)."):
print(res)
它只给我输出:
{}
不是真的。此时我是否可以调用另一个函数来获取 True 或 False,或者在这种情况下是查询函数的预期值 {}?
【问题讨论】:
-
对于 SWI-Prolog 到 Python,你应该看看 SWI Prolog Machine Query Interface and Python Integration
标签: python prolog boolean rules