问题标签 [drools]
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 - Java规则引擎的优缺点
采用 Java 规则引擎JESS和Drools的优缺点是什么?还有其他玩家吗?
我知道 Drools 是开源的,而 JESS 不是,但它们在易用性、性能、与代码的集成程度等其他方面如何比较?
drools - 从 Guvnor 下载 Drools RuleFlow 文件
我可以将 RuleFlow (.rf) 文件上传到 Guvnor(5.1 M1 和 5.0)并在服务器上使用规则执行它们。如果我想使用 Guvnor 作为存储库,有什么方法可以即时将 RuleFlow 文件下载到我的项目中?
在包级别上,Guvnor 提供了一些只讨论规则的“信息和重要 URL”。我想知道是否有任何其他 URL 可以给我 RuleFlow 文件?WebDav 是我唯一的选择吗?
java - 在这种情况下我应该使用 Drools 吗?
我将使用大学的图书馆系统来解释我的用例。学生在图书馆系统注册并提供他们的个人资料:性别,年龄,部门,以前完成的课程,当前注册的课程,已借书等。图书馆系统中的每本书都会根据学生的个人资料定义一些借阅规则,例如,计算机算法的教科书只能由在该班级注册的学生借阅;另一本教科书只能由数学系的学生借用;也可以规定学生最多只能借2本电脑网络书。由于借阅规则,当学生在图书馆系统中搜索/浏览时,他只会看到他可以借阅的书籍。所以,
以下是我使用 Drools 对设计的看法 - 每本书都有一个规则,其中学生档案的一些字段约束为 LHS,书籍规则的 RHS 只是将书籍 ID 添加到全局结果列表中,然后是所有书籍规则被加载到 RuleBase 中。当学生搜索/浏览图书馆系统时,会从 RuleBase 创建一个无状态会话,并将学生的个人资料断言为事实,然后学生可以借用的每本书都会触发其图书规则,您将获得完整的图书列表学生可以在全局结果列表中借用。
一些假设:图书馆将处理数百万本书;我不希望书本规则太复杂,平均每个规则最多3个简单的字段约束;系统需要处理的学生数量在100K左右,所以负载比较重。我的问题是:如果加载一百万本书规则,Drools 将占用多少内存?所有这百万条规则的触发速度有多快?如果 Drools 是合适的选择,我想听听经验丰富的用户在设计这样一个系统时的一些最佳实践。谢谢。
jboss - 将 JBoss DROOLS XMLDumper 与 .dslr 文件一起使用
我有一个包含规则(dslr)和 dsl 文件的 .dslr 文件。我需要从此 dslr 获取 DRL 的 XML 输出。
我用 XMLDumper 尝试了不同的方法,但无法让它工作。有任何想法吗?
drools - 如何从 Drools 4.x 中的决策表中检索事实对象
我们的团队正在使用 Drools 规则流进行评估。现在我们计划改为迁移到决策表。
在 Drools 规则流版本中,我们曾经拥有具有查询组件的 DRL 文件,用于从工作内存中提取在 DRL 文件上下文中创建的对象。
我坚持在决策表中做同样的事情?我们使用 StatefulSession 来触发规则。此外,这些事实被插入到规则的 RHS 中;在解雇它们时,我们没有 FactHandles。
用于引导 Drools 规则引擎的代码如下:
用于检索查询的 drools 文件如下所示:
谢谢
xml - JBOSS DROOLS 使用带有 .dslr 的 XmlDumper
我能够将 .DRL 文件解析到 XmlDumper 中并获得正确的输出。如何通过 XmlDumper 传递 .DSLR 文件以实现相同的结果?.DSLR 文件包含语言文件 (.DSL)
xml - 从 DSLR 中提取 DRL
如何访问 Drools 中的 DSLR 文件中生成的 DRL?
drools - 如何使用 JSR94 使用 Drools 加载基于 Excel 的决策表?
网上有很多关于如何加载 Drools DRL 规则集的示例。但是,我似乎找不到任何关于如何使用 JSR94 API 以 Excel 格式加载决策表的说明或示例。
有谁知道如何做到这一点?如果是这样,您能否提供一个简单的代码示例?
这是我在下面使用的示例代码。我已经标记了我怀疑某些属性需要设置并作为第二个参数传递给 createRuleExectuionSet() 的区域(尽管这可能不是解决方案)。
spatial - 空间和时间推理的规则引擎?
我有一个应用程序,它接收许多表征 3 维空间和时间过程的数据。然后,它过滤这些数据并创建操作,然后将这些操作发送到执行操作的进程。冲洗并重复。
目前,我有一组自定义过滤器,可以执行很多复杂的空间/时间计算。
很多时候,当我与公司中的个人讨论我的系统时,他们会问我是否使用了规则引擎。
我还没有找到一个能够很好地在时间和空间上进行推理的规则引擎。(例如:两个 3D 实体何时接近?3D 实体 A 是否曾经包含在 3D 区域 B 中?如果实体 C 靠近实体 D,但相对于 C 向后,则执行操作 D。)
我过去看过 Drools、Cyc、Jess(比如 3-4 年前)。是时候重新审视最先进的技术了。有什么建议么?您知道的任何标准都支持这种推理吗?任何事实上的标准?有什么应用吗?
谢谢!
java - 使用 Spring 3.0 将字节转换为类型而不更改应用程序(即将转换方法存储在 DB 中)
有没有办法将转换策略(用于转换一些字节)存储到数据库中,然后在运行时执行它。
如果要存储一个完整的 java 文件,则需要对其进行编译、存储类以及如何注入到已经运行的系统中。我不确定这怎么可能。
但是在 JVM 上使用某种动态语言会很好。我在这里看到了一个在 spring 上下文中执行 groovy 的示例 http://www.devx.com/tips/Tip/42789
但这本质上仍然是静态的,因为应用程序上下文包含对实现的引用并且不能被数据库更改。
这有点像让最终使用 DSL(领域特定语言)来存储和执行转换策略。最终用户将能够输入他们的自定义规则
也许使用上下文的 JavaConfig 是可能的。我现在正在探索选项,特别是 Spring 3.0。欢迎您提出任何方向的建议。