之前的教程中,所有的操作,包括定义数据等都是在python里面进行的。但是当我们处理庞大的知识库的时候,我们肯定不希望把所有的数据都写在一个py文件里,而是希望把它存在更通用的保存数据的文件格式/数据库里面,在需要的时候再让程序来读取就好了。
pyDatalog可以做到这些功能。下面是关于从文件中读取pyDatalog程序,我自己写的简单例子:
In [1]:
from pyDatalog import pyDatalog
def run_program():
# 创建一个简单的Datalog程序文件
text0 = "factorial[N] = N*factorial[N-1]\nfactorial[1] = 1"
with open("sample_datalog_program.txt", 'w') as f:
f.write(text0)
file_in = open("sample_datalog_program.txt", 'r')
mc = file_in.read()
print(mc)
pyDatalog.load(mc)
file_in.close()
print(pyDatalog.ask('factorial[3]==N')) # 执行语句,注意这里不需要预先create_terms