问题标签 [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.

0 投票
3 回答
2517 浏览

drools - 编写 Drools / JBoss 规则的 LHS 时出现问题,我正在匹配一个事实,然后使用该事实来确定是否存在另一个事实

我(第一次)使用 Drools 来表达一些规则,到目前为止它运行得非常好。然而,我被赋予了一个新的条件,我无法用规则语言非常清楚地表达出来。

基本上我需要对玩家账户执行一项操作,如果他们的账户上有一定数额的未结余额,他们在上周没有付款,而他们在过去 4 年没有付款大于或等于每周扣除的周数。还有一些其他规则,但我已删除它们以简化此问题的规则。这是给我带来问题的最后一条规则。

问题是它不起作用,我不断收到 org.drools.rule.InvalidRulePackage 异常。我只是在猜测语法,但似乎找不到显示我正在尝试做什么的示例。甚至可能吗?


完整的原始错误消息是:

在尝试了第一条评论中的建议后,错误是:

0 投票
3 回答
2348 浏览

java - 我可以从哪里开始学习规则引擎?

我目前正在设计一个规则引擎可能有用的 Java 应用程序。我可以在哪里学习如何使用它们、它们如何工作、如何实现它们、查看示例等?

0 投票
3 回答
4140 浏览

java - 游戏 AI 的 Java 规则引擎

我想为我的游戏使用规则引擎。它将用于 NPC AI 和 GM AI。

为此目的,什么可能是一个好的和快速的规则引擎?它必须是 Java 和开源的。

我想听听使用 Java Rule Engines for AI 的人的经验。

0 投票
4 回答
2690 浏览

java - 天基建筑?

Pragmatic Programmer 中的一章建议将黑板/基于空间的架构 + 规则引擎视为传统工作流系统的更灵活替代方案。

我正在处理的项目目前使用工作流引擎,但我想评估替代方案。我真的觉得 SBA 会更好地解决我们的业务问题,但我担心完全缺乏社区支持/用户群/供应商/选项。

JavaSpaces 已经死了,而 JINI 的衍生产品 Apache River 似乎正在获得生命支持。SemiSpace 看起来很完美,但它是一场单人表演。唯一可行的解​​决方案似乎是 GigaSpaces。

我想听听您对基于空间的架构的想法以及您在现实世界实现中的任何经验。

0 投票
4 回答
5977 浏览

c# - C#:英语语法规则引擎?

我正在寻找可能存在或不存在的东西。Windows 平台上是否有“英语语法规则引擎”之类的东西(特别适用于 .NET 或 C# 之类的东西)?

具体来说,我正在寻找能够以“将来时”取一个句子并将其更改为“过去时”(基于英语语法规则)的东西......比如:

开发小部件软件,然后与里卡多会面

对此:

从事小部件软件工作,然后与里卡多会面

是否已经有一个规则引擎可以做到这一点?

0 投票
2 回答
1347 浏览

php - Outlook 风格的规则引擎

我正在尝试构建一个基于规则的系统来解释数据。但是,我在决定如何构建存储和解释规则的逻辑时遇到问题。

目前,有一个相当复杂的数据库结构,但会处理存储规则数据的各个方面。这个想法是系统将能够模仿 MS Outlook 允许用户添加规则的方式。

我的问题如下:

  1. 我应该使用什么模式将这些规则存储在对象中?
  2. 我应该使用 eval() 还是正确的面向对象来执行规则?

示例规则可能是:

狗在地区公园必须有项圈

其中每个元素(狗、必须拥有、项圈、区域、公园)都是要解释的单独逻辑。

非常感谢对上述问题的任何一般性建议!

0 投票
5 回答
404 浏览

sql - 有没有针对 n 列检查规则的好方法?

假设您有一个表 RULES,其中包含 3 列 A、B 和 C。当数据进入系统时,我想知道 RULES 表的任何行是否与我的数据匹配,条件是 RULES 表中的相应列是否为空,所有数据匹配。显而易见的 SQL 是:

所以如果我有规则:

(50, xyz, 456) 的输入将匹配规则 1 和 4。

问题:有没有更好的方法来做到这一点?只有 3 个字段,这没问题。但实际的表将有 15 列,我担心 SQL 的扩展性如何。

推测:我想出的另一种 SQL 语句涉及向表中添加一个额外的列,并计算有多少字段不为空。(因此在示例中,规则 1-4 的此列值分别为 1、2、2 和 2。)使用此“col_count”列,选择可以是:

不幸的是,我没有足够的样本数据来找到我们这些方法中的哪一种表现更好。在我开始创建随机规则之前,我想我会在这里询问是否有更好的方法。

注意:数据挖掘技术和列约束在这里是不可行的。数据进入系统时必须进行检查,因此可以立即将其标记为通过/失败。而且,用户控制规则的添加或删除,因此我无法将规则转换为列约束或其他数据定义语句。

最后一件事,最后我需要一个数据未能通过的所有规则的列表。解决方案不能在第一次失败时中止。

谢谢。

0 投票
4 回答
2814 浏览

c# - 我如何构建可以在 C#.net 中执行用户定义的 if else 规则的规则引擎

我需要构建新的规则引擎,其中我有这样的规则,它以表格格式存储在 Excel 工作表中。

我有两个文件说 1 n 2。我需要在第一个文件中查看 Name 是 Nita 还是 Gita。基于执行,我将获得价值。现在我需要将此结果值与第二个文件进行比较,该文件是一个 xml 文件,其路径已定义为 .

任何人都可以建议我在 C# 中有什么可以有效地用于开发相同的东西,或者任何人都可以建议我如何用 C# 实现这一点。我需要一些相同的类设计的想法。

我正在使用.Net 1.1。

0 投票
9 回答
123665 浏览

rule-engine - 什么时候不应该使用规则引擎?

我有一个相当不错的使用规则引擎的优点列表,以及使用它们的一些原因,我需要的是一个你不应该使用规则引擎的原因列表

到目前为止,我最好的是:

规则引擎并非真正旨在处理工作流或流程执行,也不是旨在执行规则的工作流引擎或流程管理工具。

您不应该使用它们的任何其他重要原因?

0 投票
4 回答
10542 浏览

java - 评估业务规则引擎的标准

我们正在购买业务规则引擎。我们希望使我们的核心应用程序可针对具有略微不同要求的不同客户进行定制。真正进行定制的人是分析师。即技术熟练的非程序员(通常具有科学学位)。

评估业务规则引擎的标准是什么?有开源的和商业的吗?您在易用性、文档、支持、价格等方面有何经验?

我们的应用程序是 Java 语言。