clipspy
1.0.0
“C”语言集成生产系统 CLIPS 6.41 的 Python CFFI 绑定。
来源: | https://github.com/noxdafox/clipspy |
---|---|
文档: | https://clipspy.readthedocs.io |
下载: | https://pypi.python.org/pypi/clipspy |
CLIPS 最初是在 NASA 的约翰逊航天中心开发的,是一种基于规则的编程语言,可用于创建专家和生产系统,其中启发式解决方案比命令式解决方案更容易实施和维护。 CLIPS 旨在促进软件开发以模拟人类知识或专业知识。
CLIPSPy 在 Python 生态系统中带来了 CLIPS 功能。
在 Linux 上,CLIPSPy 根据 PEP-513 指南针对 x86_64 架构打包为轮子。大多数发行版都应该受到支持。
$ pip 安装 Clipspy
Apple Silicon 支持高于 3.11 的 Python 版本。
$ pip 安装 Clipspy
CLIPSPy 作为大多数 Python 版本和架构的轮子。
> pip 安装 Clipspy
提供的 Makefile 负责检索 CLIPS 源代码并与其一起编译 Python 绑定。
$ make# 进行安装
请查看文档以获取有关从源构建 CLIPSPy 的更多信息。
import ClipsDEFTEMPLATE_STRING = """(deftemplate person (slot name (type STRING)) (slot surname (type STRING)) (slotbirthdate (type SYMBOL)))"""DEFRULE_STRING = """(defrule hello-world "Greet a新人。” (人 (名字?名字) (姓氏?姓氏)) => (println "你好" ?名字 " " ?surname))"""environment = Clips.Environment()#定义构造environment.build(DEFTEMPLATE_STRING)environment.build(DEFRULE_STRING)#检索事实templatetemplate =environment.find_template('person')#通过其templatefact断言一个新事实= template.assert_fact(name='John',surname='Doe',birthdate=clips.Symbol('01/01/1970'))# 事实槽可以作为字典元素访问assert fact['name'] == 'John '# 在议程环境中执行激活.run()