问题标签 [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 回答
6677 浏览

java - 用 Java 编写的开源规则引擎

我正在开发一个与人工智能相关的应用程序。对于这个应用程序,我需要一个规则引擎。Jess是一个完全用 Java 编写的优秀规则引擎。但是对于我的应用程序,由于许可证限制,我无法使用它。

有人可以告诉我一个用 Java 编写的开源规则引擎吗?

0 投票
3 回答
125 浏览

design-patterns - 如何解释具有复杂限制的操作失败

我正在实施一个系统,客户可以使用优惠券获得购买折扣。代金券是否可用于特定购买取决于多种情况。

例如:

  • 正确的优惠券代码 - 代码是否正确?
  • 有效期 - 凭证是否仍然有效?
  • 优惠券可以与购买的类型一起使用吗?
  • 允许组合 - 优惠券可以与其他优惠券组合使用吗?
  • 还有很多 ...

还有一些更复杂的限制需要检查。如果不满足一项或多项限制,则客户无法使用优惠券,我想告知他/她有关失败的原因,并解释“为什么”他无法使用此优惠券,例如:

“你不能使用这张凭证,因为它已经过时了。”

我现在的问题是:您将如何实施检查?
在自己的类中实现每个限制,将它们链接起来并抛出异常?(这里的问题,可能会执行几个相同的数据库查询)在一个方法中实现所有限制?(真的,为什么?)一般来说,如果对操作应用了复杂的限制,您如何实现必须通知客户端有关失败细节的机制?

谢谢,

0 投票
4 回答
7969 浏览

c# - .NET 的大多数灵活性规则引擎

我即将进行的项目与销售系统有关,因此主要要求之一是“用户可以自己修改促销”。促销活动各不相同,他们给了我一些。

  1. 买一送一,买二送三。
  2. 一个 30%,两个 50%,三个 80%
  3. 购买产品 A 将享受产品 B 的 30% 折扣
  4. 每笔交易超过 20 美元可享受 20% 的折扣

我对规则引擎有点了解,请给我推荐一本书来学习它。

0 投票
5 回答
98910 浏览

java - Java规则引擎的优缺点

采用 Java 规则引擎JESSDrools的优缺点是什么?还有其他玩家吗?

我知道 Drools 是开源的,而 JESS 不是,但它们在易用性、性能、与代码的集成程度等其他方面如何比较?

0 投票
1 回答
2885 浏览

.net - 您如何在数据仓库中实施数据质量和验证规则?

我正在开发一个数据仓库,作为我公司企业应用程序套件的一部分。所以我一直在学习很多关于 DW 概念的知识,但是规则引擎似乎很困难,而且我找不到很多关于各种实现方式的信息。规则的重点是验证数据质量,并在达到某些业务指标时发出警报(例如,当月销售额为 $xx.xx)

我们的应用程序需要为每个客户定制,所以我想让规则通用。实现规则引擎的方法有哪些?

  1. 现成的工具?(我将重新分配,所以这通常效果不佳)
  2. 框架/API
  3. 用于创建我们自己的设计模式
  4. 其他想法

谢谢。

0 投票
2 回答
3744 浏览

python - 用 Python 构建推理引擎

我正在寻找方向并试图标记这个问题:

我正在尝试在 Python 中构建一个简单的推理引擎(有更好的名称吗?),它将采用一个字符串和 -

1 - 通过简单地创建一个空格分隔值列表来创建一个标记列表

2 - 使用正则表达式对这些标记进行分类

3 - 使用更高级别的规则集根据分类做出决策

例子:

“90001” - 一个标记,与邮政编码正则表达式匹配,存在一个规则,用于仅包含邮政编码的字符串会导致某种行为发生

“30 + 14” - 三个标记,数值的正则表达式和数学运算符匹配,存在一个数值规则,后跟一个数学运算符,后跟另一个数值导致某种行为发生

我正在努力解决如何最好地执行第 3 步,即更高级别的规则集。我确信某些框架必须存在。有任何想法吗?另外,您如何描述这个问题?基于规则的系统、专家系统、推理引擎,还是其他?

谢谢!

0 投票
1 回答
1689 浏览

drools - 如何从 Drools 4.x 中的决策表中检索事实对象

我们的团队正在使用 Drools 规则流进行评估。现在我们计划改为迁移到决策表。

在 Drools 规则流版本中,我们曾经拥有具有查询组件的 DRL 文件,用于从工作内存中提取在 DRL 文件上下文中创建的对象。

我坚持在决策表中做同样的事情?我们使用 StatefulSession 来触发规则。此外,这些事实被插入到规则的 RHS 中;在解雇它们时,我们没有 FactHandles。

用于引导 Drools 规则引擎的代码如下:

用于检索查询的 drools 文件如下所示:

谢谢

0 投票
1 回答
2415 浏览

.net - 一个很好的 asp.net-mvc 应用程序规则引擎

我正在寻找一个可以在我的 asp.net-mvc 应用程序中使用的好的规则引擎。

我有什么好的选择?

0 投票
1 回答
1330 浏览

asp.net - 适合我的 Web 应用程序的“业务规则”工具/引擎

我不确定这个问题是否适合在这里提出,但我想不出更好的去处。

我正在构建一个 Web 应用程序,该应用程序具有大多数用例的多个替代路径。我将这些路径视为业务规则。我想先为主要场景编写我的应用程序,然后将替代场景应用为业务规则(即使应用程序处于生产状态,也可以添加和删除规则)。

我认为我的应用程序值得一个规则引擎。我过去没用过。所以我有几个疑问,但在此之前这是我的应用程序的配置文件:

  • 基于 Web 的应用程序(数据密集型)
  • 有点关键(与医疗保健有关) - 需要考虑活力
  • Microsoft .Net 平台(ASP.Net、MS SQL Server、WCF)

以下是一些查询:

  • 如何最好地外化规则?
  • 是否可以立即应用规则或批量应用规则是唯一的可能性?
  • 业务用户如何控制规则?
  • 有什么最好的(合适的)规则引擎?(我更喜欢容纳开源产品)

欢迎任何额外的经验,因为我仍在深入研究需求。

0 投票
3 回答
3605 浏览

c# - Silverlight 中的 WF4 设计工作流程

我们的系统基于流程和活动,我们希望让分析师用户有机会创建动态流程(在运行时)。基于 SL 4.0 的设计器 UI。

看起来 WorkflowFoundation 是最有价值的解决方案,但我们没有找到任何适合 SL 的 WF 版本(在 SL 中创建 xaml)。

有任何想法吗?任何其他有能力的引擎?