我正在寻找一规则引擎在C或蟒蛇,但是如果你知道规则的发动机,是实现另一种语言我会很高兴知道这件事。

引擎将作为的方式来实现自动化房子,像是把灯关当有人离开一个房间等。因此,没有"办公室"规则(又名做你的规则或Excel这样的).

我已经看到杰西和流口水这是在爪哇和做一个完美的工作。我想知道的其他人以及可能使用较少的记忆比Java。我有听说过RuleCore Python但是不能真的找到任何文件上(1.0版本可在SourceForge但它看起来像他们销售诉2.0).

编辑:通过引擎的规则(推理机),我的意思是一个执行情况的网环或等效的。

有帮助吗?

解决方案

在你的搜索网环基于规则的发动机在蟒蛇么 派克PyCLIPS 可能是一个你会想到使用。

PS:我离开了评论S.洛特的回答关于派克.我已经发布一个单独的答案,因为据他的建议,并且也让其他读者容易知道,规则引擎中提到这个答案可能是一个可能的选择,如果他们正在寻找一个。

其他提示

你可以看看 剪辑 正如已经提出,或者,如果你想付钱或需要它 Rete2.我用夹在过去Unix和成功地嵌入其他应用。

希望这会有所帮助。

ruleby 是一条规则的引擎编写的红宝石。这是问题的一个介绍在rubyhoedown2008年: ruleby-the-rule-引擎-对-红宝石

Pychinko已经有一段时间。我从来没有用它在生产,但研究它可能的生产应用而回。它看起来像它具有相当不错的功能和用户的一个体面的社会。

http://www.mindswap.org/~katz/pychinko/

在效果,Python中的的规则引擎。

“的发动机将被用作方法来自动化房子,像关灯的动作,当有人离开房间等等。”

您需要传感器和控制器。你写你的“规则”作为普通的Python对象。

您主“程序”从传感器收集的事件和将事件发送给你的控制器。

如果您可以从通过普通的USB你的传感器读取,那就更好了。海洋工业使用几个像NMEA 0183和2000 NMEA密切相关的标准,用于指定通信的总线上从传感器到控制器。

您还不需要另一种规则语言。你有Python的。

Rulecore 确实部分是用 Python 编写的。但这并不重要。作为用户,您无论如何都看不到任何这些实现​​细节。

这些规则纯粹是声明性的,并使用 XML 定义。XML 使用 Web 服务或 JMS 或其他协议作为事件发送到ruleCore CEP 服务器。

下面是在Java 13个开源规则引擎的列表,呓可能是最好的这些。 http://java-sources.org/open-source/rule-engines

我知道ruleCore具有Python编写某些部分。但是API使用XML和ActiveMQ的或Web服务所以它是在一个更高的抽象级。

Nebri 是写家庭自动化和其他软件/机器的规则最简单的方法。这里的以实现光截止的示例:

class high_temp_shutdown(NebriOS):
    listens_to == ['shared.pebble_location'] 


    def check(self):
        # if pebble dongle is out or room, return true
        return shared.pebble_location > 3 # in meters

    def action(self):
        smartthings.lights(2,"off")

这是对自动化你的房子,因为你可以安装点子现有库在脚本中使用的理想工具。鸟巢,SmartThings,Sen.se等。这只是Python的!

而对于为什么Python本身不是一个规则引擎更充分的说明,请参阅的这篇文章。只是因为Python本身可以执行的规则,你没有你的手规则引擎。这实际上是一个巨大的建筑转变。

我用Python语言编写一个简单的规则引擎。您可以将您的规则JSON或YAML字符串,并使用该规则引擎来匹配上下文规则。

https://github.com/tclh123/rule

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top