问题标签 [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 投票
2 回答
187 浏览

.net - 是否有任何控件可以使用智能感知编辑文本?

是否有任何 .net 控件(希望是 WPF)来输入基于应用程序规则引擎(或语言定义)的查询?诸如带有智能感知或 Jira 高级过滤器的 SQL 之类的东西?

换句话说,我希望允许用户在文本区域中输入这样的内容

并且应用程序会建议下一个有效令牌,例如智能感知。

0 投票
6 回答
39050 浏览

javascript - Javascript 中的轻量级规则引擎

我正在寻找用 Javascript 实现的轻量级规则引擎的建议。

这种实现的原因是使用一小组规则(少于 20 条)构建一个非常轻量但快速的基于浏览器的模拟。模拟将采用六个参数并运行规则并在浏览器中显示结果,而无需返回服务器。想象一个带有几个单选按钮、复选框、文本框和滑块来控制参数的 UI。模拟将根据任何参数变化快速重新运行。

0 投票
1 回答
1723 浏览

asp.net - 我打算使用 ASP.net 从头开始​​构建调查平台

我正计划构建一个 ASP.NET 调查平台,该平台还将提供一个脚本接口。我想知道是否有一个现有的框架或开源平台可以快速启动。

规则引擎也会派上用场吗?...

0 投票
2 回答
2786 浏览

formatting - 如何在 HP Exstream 中嵌套规则?

我正在使用 HP Exstream(以前来自 Exstream Software 的 Dialogue)版本 5.0.x。它具有将布尔表达式定义和保存为“规则”的功能。

我使用这个已经大约 6 年了,但是有人知道你是否可以根据另一个规则来定义一个规则吗?弹出窗口中有一种“类似 VB”的语言,因此您不必被迫使用和/或变量关系表达式形式,但我手边没有文档。:-(

我想用“Foo”来定义一个规则“NotFoo”,而不是重复整个事情的反面。(是的,这将是迟钝的,但这可能是我将被迫做的事情,就像我维护的其他示例一样。)实际上,如果我能弄清楚如何做到这一点,嵌套规则将有很多用途。

0 投票
6 回答
4183 浏览

c++ - c++中基于大型决策树的人工智能设计模式

我目前正在为用 C++ 编写的游戏编写 AI。AI 在概念上相当简单,它只是遍历决策树并选择适当的动作。我以前使用 prolog 作为决策引擎,但由于其他开发人员使用 c++ 以及集成 prolog 代码的一些问题,我现在正尝试将其移植到 c++。

目前我在序言(100+)中有一堆事实和规则。许多表达形式的东西,如果game_state然后做动作xyz。大多数规则都相当简单,有些则相当复杂。我研究了一种有限状态机方法,但这似乎并不能很好地适应更大的情况。我第一次尝试用 c++ 编写代码是一个巨大的噩梦,即 if then else case 语句。我到处都弹出这样的代码:

复杂性很快变得难以控制。

如果有一种在 C++ 中编写此类问题的好方法?有没有好的设计模式来处理这种情况?不需要逻辑必须包含在源代码中,它只需要可以从 c++ 访问。唯一真正的要求是它相当快。

我还查看了规则引擎,如果速度足够快,它们可能是合适的。您知道是否有合适的开源 C++ 规则引擎?

0 投票
1 回答
402 浏览

python - 是否有将过滤器应用于数据的框架或模式?

问题:

我在 Django 应用程序中有一些分层数据,这些数据将传递给 javascript。需要根据 javascript 中几个数据类的状态从 javascript 中过滤掉其中一些数据。我需要一种在后端(Django)中定义过滤器的方法,然后将其应用于javascript。

过滤器应如下所示:

过滤器也可以是有条件的:

并且可能是条件的任何组合,例如:

一些键将具有一组允许值,而其他键将具有自由文本字段。该系统必须可供业务类型的最终用户使用,否则拥有该系统毫无意义。主要目标是拥有一个完全由最终用户管理的系统。如果这些目标中的大部分都能实现,我会认为这是一场胜利。

规则引擎是否适合这种情况?是否有可用于实现此行为或任何明确定义的模式的 python 或 django 框架?

更新(基于 S.Lott 的回答):

我不是在谈论使用 Django ORM 过滤数据。我想将所有数据和所有规则传递给 javascript,因此 javascript 应用程序可以保持“断开连接”。

我需要的是一种让用户定义这些规则和规则组合并将它们存储在数据库中的方法。然后,当加载页面时,会检索此数据和所有规则并将其放置到页面上。规则的定义是难题的重要部分。

0 投票
2 回答
489 浏览

oracle - Oracle 规则管理器和表达式过滤器是否基于现有标准?

如果没有,是否存在规则引擎存储标准?

或者

是否有 Oracle 规则引擎语法的 C# 实现?

0 投票
6 回答
4793 浏览

prolog - Prolog 网络编程

在工作中,有人讨论过使用 prolog 作为 Web 应用程序上的规则引擎的后端。

这将如何与现有系统联系起来?

是否有其他语言的可用 prolog 库允许调用 prolog 模块?

0 投票
2 回答
886 浏览

c# - 有没有办法在 RuleSetDialog 中使用 lambda 表达式来定义条件?

我在应用程序中使用来自 WF 的规则引擎,其中一些条件涉及在集合中搜索条件。理想的做法是:

不幸的是,我似乎无法访问集合的 Linq 扩展。我尝试通过参数传递,System.Data.Linq但这TypeProviderRuleSetDialog没有使 Linq 方法出现。

任何帮助或想法表示赞赏!

0 投票
2 回答
2339 浏览

java - 使用规则引擎进行验证

我们处理基于文本的消息(非 XML)。我们的目标是验证消息,如果内容正确,则消息有效。我们开发了我们自己的用 XML 定义的语言来表达消息的规则。我们需要添加更复杂的规则,我们认为现在是时候寻找其他替代方案并使用真正的规则引擎了。我们支持以下类型的规则:

  • 值列表或正则表达式中的名称,例如 {SMITH, MOORE, A*}
  • 消息中存在名称-
  • 消息中不存在名称
  • if condition then name = John else name = Jane 请注意,条件很简单,不包含任何逻辑运算符。

我们需要支持这些类型的规则:

  • if then else 但条件包含逻辑运算符
  • for ...循环:
    • 对于消息中的所有客户,我们希望至少一位来自美国,至少一位来自法国
    • 对于消息中的所有客户,我们希望至少有五个来自美国并且每年购买超过 1000 美元
    • 对于姓名为 John 的任何客户,姓氏必须是 Doe
  • 姓名为 John < 15 的客户总数
  • 公司名称等于消息中其他位置的公司名称

规则将取决于我们处理的消息类型。因此,我们正在研究几种现有的解决方案,例如:

  • 杰斯
  • OWL(一致性检查)
  • Schematron(通过在 XML 中转换消息)

考虑到我们用 Java 开发,最好的选择是什么?要考虑的另一件事是我们应该能够进行错误报告,如错误描述、错误位置(行号和列号)。