问题标签 [rule-engine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Drools Expert 在基于 Web 的 J2ee 项目中评估 Drools Flow
我正在使用 drools 专家规则评估 drools 流作为 wrokflow 引擎。关键评价点:
- 通过自己的自定义 Web UI 生成自定义规则和工作流
- 管理员用户可以在 UI 中查看工作流中的所有项目(查看作业队列:当前队列、已执行作业、异常)
- 规则操作可以是 Web 服务、Java 类,也可以是存储过程
- 在运行时删除/取消流程定义
- 与日历/计划集成
- Web Service 可以是规则输入
- Web 服务可以是进程中的参与者
- 运行时编译能力也就是说,没有应用程序在规则更改时重新启动
将流程公开为服务
请任何人都可以就上述领域提供您的意见以帮助我们进行此评估过程吗?
wolfram-mathematica - 过滤掉 Mathematica 中的子列表
我是mathematica的新手用户。这是我的问题:
例如,我有一个嵌套列表:
我只想输出那些元素为 0 或 1 的子列表。上面列表的输出应该是:
我可以得到满足我条件的列表:
但是我怎样才能得到模式的反面呢?像这样:
这样我就可以一口气得到结果。
谢谢!
java - 是否有用于在 Java 中使用 SQL 实现参数搜索功能的设计模式?
我不太确定设计我称之为“参数”搜索或规则引擎的最佳方法是什么。我有一个包含多个字段的 Java 对象。我将针对几个查询运行 java 对象,以查看它是否符合某些条件。
我能想到的一个例子是 bugzilla 中的错误搜索功能。在 UI 中,您可以选择状态、分辨率、严重性等内容。然后点击 go,它会返回符合该条件的错误。我想这是通过从 UI 中选择的字段生成 SQL 查询来实现的。
就我而言,包含值的对象不在数据库中,因此这不是显而易见的答案。我的对象也相当复杂,需要添加多个表......而且创建数据库表然后使用数据库中的查询引擎似乎有点骇人听闻。此外,在我的应用程序中,用户基本上创建了这些映射,并且需要将它们保存到数据库中。因此,在这种情况下,您最终会将原始 sql 查询字符串保存到数据库中,这对我来说听起来像是一个严重的安全问题。(但是,我不是数据库专家,所以也许这就是事情的完成方式)。
在这一点上,我真的在寻找一些指导。我希望我想要完成的事情有某种类型的设计模式。我尝试在谷歌上搜索“参数搜索设计模式”和“规则引擎”等各种内容,但没有找到任何相关的内容。这是 LINQ 会解决的问题吗?我简单地看了看它,似乎这也太过分了。
提前致谢。
编辑1:
这里有一些额外的细节,我希望能澄清到目前为止的评论。我想让用户创建一些规则,例如对象 foo.getTemperature() >= 30 并且 foo.getTypeOfMsg() == Alert。然后,检索“警报”设置对象。如果 foo.getTypeOfMsg() == "Test" 则获取 "Test" 对象。规则是用户驱动的,因此有无限的可能性。对象 foo 由 Web 服务检索,我无需将其存储在数据库中。
c# - 规则评估系统和“不完全”匹配 (ej: x < 3000)
我正在设计一个规则评估系统,它需要处理事实数据库和数据库上的某些规则。我们目前有一个RETE 的修改版本,它部分正确,但有一些缺点。
问题是规则不限于精确匹配,但它们还必须支持不等式(如小于)和其他类型的模糊计算。
例子,假设你有这个事实
(Salary John 58000) (Salary Sara 78000) (Employee John) (Boss Sara) (Married John Sara) (Works John Stackoverflow)
你可能有一条规则说:
(薪水?w < 60000)/\(已婚?w)/\(工作?w Stackoverflow)==> 随便
显然,结果将触发 ?w 值为“John”的规则,但我们现在这样做的方式是循环遍历事实库中与第一个表达式 (Salary XX) 开头匹配的每个元素,然后进行比较并将结果存储在它自己的事实基础中。例如,在第一次通过后,您将在事实库中添加以下项目:
(工资约翰 58000 < 60000)
一旦完成,您就可以按照通常的 RETE 方式执行连接。这样它会在事实库中占用大量空间,特别是因为规则可以引用任何数字,因此只要规则处于活动状态,您就拥有那些“计算出的”事实。
另一方面,您可以使用第一个表达式应用多个规则,并且可以继续使用标准匹配算法来触发规则。
有谁知道处理这种行为的任何模式、引用或方法?通常的 LEAPS、TREATS、RETE 算法只处理(据我所知)“精确”匹配。
顺便说一下,这是 C# .NET。
.net - 在生产中使用无工作流的 WF 规则引擎 - 实施经验
我正在为一种对可定制、灵活的业务规则有很大要求的案例管理系统设计一个应用程序。我计划在没有工作流的情况下使用 WF 规则引擎(请参阅:here,以及其他示例等)。
我的客户提出的观点之一(这是有道理的!)是是否存在将规则引擎用于没有工作流的业务规则引擎的现有示例。
我的问题当然是:以前有没有人在生产应用程序中使用过 WF 规则引擎无工作流,您的经验是什么?
c# - 我们可以使用扩展方法来构建业务规则引擎吗?
我想做这样的事情
然后在客户端代码中将其用作
或者
只是想在我深入潜水并淹死之前问一下。
这种方法有什么潜在的陷阱???
提前致谢
rule-engine - 规则引擎可以完成什么?
使用规则引擎可以实现哪些目标?
rule-engine - DL Reasoner vs Rule Engine:你能解释一下区别吗?
有人可以解释像 Pellet/deafult OWL Reasoner 这样的 DL Reasoner 和像 Jess 这样的规则引擎之间的区别吗?和他们的应用?
谢谢。
computer-science - 规则引擎与专家系统
规则引擎和专家系统有什么区别?
示例 1:假设我有一个程序可以确定新驾照的到期日期。它接受签证到期日期、护照号码、生日等输入。它根据该输入确定驾驶执照的到期日期。如果输入没有足够的有效标识来允许新的驾驶执照,它甚至会出错。
示例 2:假设我正在制作游戏 Monopoly 的在线版本。我想要改变游戏规则的能力(比如传球需要 400 美元,或者没有人可以购买房产,直到他们两次登陆同一个房产,等等)。我在代码中有一个模块来处理这些规则。
这些都是规则引擎还是专家系统?他们俩看起来都那么相似。它只是一个同义词吗?