【发布时间】:2013-08-20 11:35:03
【问题描述】:
我正在编写一些代码来评估数据库中的数据,以查看传入事件流中的实例是否符合一组协议。这个想法是使用 pyDatalog 来做到这一点。理想情况下,我们希望能够根据几个独立的规则集评估数据,这些规则集定义了事件应遵守的单独协议。
换句话说,是否可以创建多个逻辑独立的 pyDatalog 会话,每个会话都有自己的规则集,但从同一个底层数据库获取数据?
【问题讨论】:
我正在编写一些代码来评估数据库中的数据,以查看传入事件流中的实例是否符合一组协议。这个想法是使用 pyDatalog 来做到这一点。理想情况下,我们希望能够根据几个独立的规则集评估数据,这些规则集定义了事件应遵守的单独协议。
换句话说,是否可以创建多个逻辑独立的 pyDatalog 会话,每个会话都有自己的规则集,但从同一个底层数据库获取数据?
【问题讨论】:
计划在 0.14 版中支持多个规则集,以及线程安全。
使用当前和以前的版本,您可以将不同的规则集存储在同一个 pyDatalog 会话中,前提是没有谓词名称冲突。例如,您也可以在每个谓词前面加上它所属的规则集的标识符。然后,通过调用适当的谓词,您将激活相关的规则集,而不会造成明显的性能损失。
对于带前缀的谓词(指的是 Python 类,例如 Employee.id[X]==Y),您需要创建具有适当前缀的 Python 子类。您可能会看到一些性能下降,但这应该很小。
【讨论】: