Tag: 规则引擎

将转换规则从前端传递到后端

我有一些对angular的前端对应的CSVfile upload的JavaScript对象。 我需要将这个对象的某些types的转换传递给后端,如JSON。 该对象看起来像这样: { name: "fieldOne", type: "string", metadata:{ } } 当我读取后端的.csv文件时,我想要应用在前端指定的这些转换。 例如: 伪代码 for each row found in CSV file. if fieldOne.value <= 3 then fieldOne.value = 0 ese fieldOne.value <=6 then fieldOne.value = 1 …. etc. 这些转换可以由用户在前端指定。 你有什么想法,如何将这个规则传递给我的node.js后端,然后执行匹配字段的每个值的这些函数?

devise模式与规则引擎和node.js来处理权限

我有要求使用规则引擎在系统中实现angular色权限(这可能是一个矫枉过正?)但是权限是一种复杂和复杂的本身。 我很困惑如何授予访问权限或不使用规则引擎。 我也怀疑我应该用什么样的devise来实现它的可扩展性和可维护性。 所以在devise中的任何帮助或向我解释如何使用规则引擎将是伟大的。 使用nools ,mongoDB,node.js作为后端。 我在创build一个封装Nools的规则引擎实例(可能是一个反模式的内部平台可能?)在我的node.js应用程序的引导,并让它作为一个全局variables。 就像是: 'use strict'; var nools = require('nools'); var flows = require('./rule-engine.flows'); // A flow is a container of rules, so each flow could be a category of rules // In the same flow could have some more specific subcategories would be actionGroups? // I'm creating a ruleEngine instance […]

用户分段引擎使用MongoDB

我有一个分析系统,以事件的forms跟踪客户及其属性以及他们的行为。 它使用Node.js和MongoDB(使用Mongoose)来实现。 现在我需要实现一个分段function,允许根据特定的条件将存储的用户分组。 例如, purchases > 3 AND country = 'Netherlands' 在前端,这看起来像这样: 这里一个重要的要求是细分市场实时更新,而不是定期更新。 这基本上意味着,每当用户的属性改变或触发新的事件时,我必须再次检查他属于哪个段。 我目前的做法是将这些段的条件存储为MongoDB查询,然后我可以在用户集合上执行,以确定哪些用户属于某个段。 例如,用于过滤所有使用Gmail的用户的细分将如下所示: { _id: '591638bf833f8c843e4fef24', name: 'Gmail Users', condition: {'email': { $regex : '.*gmail.*'}} } 当用户匹配条件时,我会直接在用户的文档中存储他属于“Gmail用户”细分: { username: 'john.doe', email: 'john.doe@gmail.com', segments: ['591638bf833f8c843e4fef24'] } 但是通过这样做,每次用户数据发生变化时,我都必须执行所有段的查询,以便我可以检查他是否是段的一部分。 从性能的angular度来看,这感觉有些复杂和繁琐。 你可以想办法解决这个问题吗? 也许使用规则引擎,并在应用程序中而不是在数据库中进行处理?

Nools和Drools

我很高兴在Node中看到一个规则引擎,并且正在Java世界中看着Drools,并阅读文档(具体来说: http : //docs.jboss.org/drools/release/6.1.0.Final/drools -docs / html_single / index.html#PHREAK)发现 Drools 6.0已经发展,现在使用PHREAK方法进行规则匹配。 感兴趣的具体段落是: 在RETE中每个成功的连接尝试都会产生一个将被传播到子节点的元组(或标记或部分匹配)。 出于这个原因,它的特点是一个元组为导向的algorithm。 对于每个到达的子节点,它将尝试与节点的另一端进行连接,每次成功的连接尝试都会立即传播。 这创build了一个下降recursion效果。 抖动节点的networking,从进入betanetworking到所有可到达叶节点的上下左右摇摆。 对于超过一定限制的复杂规则和规则,上面的引用说明了基于RETE的方法会对内存造成很大的影响,所以它演变成了PHREAK。 由于nools是基于Retealgorithm,所以上述有效? 是否有类似于PHREAK的优化? 与Drools做了什么比较?

如何在Nodejs中定义Nools?

我期待在nodejs中创buildnools规则。 我是新来的诺尔斯规则引擎。我正在试图写一个规则,但我不知道什么关于诺尔斯。 我已经研究过整个文档,但是让我感到困惑。 所以,请任何人都可以帮助我如何在服务器端创buildnools规则,以及如何将规则与客户端连接?

NodeJS / Javascript中是否有任何规则引擎?

我需要一个轻量级的规则引擎。 我们现在有大约50条规则,但规则经常变化。 我们可以使用Drools,但我认为这将是矫枉过正的。 有没有更轻的F / OSS实现? 我知道另外一个类似的问题,但那是2岁,没有一个好的答案。 (而且我没有足够的代表就这个问题发表评论)