问题标签 [decision-model-notation]

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 投票
1 回答
3943 浏览

drools - DMN 与 DRL 的流口水

Drools 现在对 DMN(决策模型和表示法)具有完整的运行时支持。DMN 文件现在是一种资产,可以添加到任何 kjar 中执行。

我的想法是,Drools Rule 是非标准/专有的,因为DMN是开放的,但标准较新。

我的问题..

Drools 规则(.drl 文件)和DMN (.dmn) 是否解决了同样的问题?从长远来看,DMN 是否打算取代 DRL?

0 投票
1 回答
123 浏览

decision-model-notation - 如何验证 DMN camunda 中的多个规则输入

假设我有两个输入(input1,input2),我可以定义DMN规则条件如下:

输入 1 > 10 或输入 2 <= 10。

但是,我想定义一个具有多个输入的条件:

输入 1 + 输入 2 > 10

如何使用 DMN 执行此操作?

0 投票
1 回答
540 浏览

java - Drools:DMN 1.2 FEEL 功能的评估不起作用

我想在 Drools 7.21 FEEL 中评估 DMN 1.2 中的新功能,例如 sqrt() 或 modulo(),但是方法

dmnRuntime.evaluateAll(dmnModel,context)

总是返回值“null”(仅适用于新函数),状态为“SUCCESS”。我做错了什么或缺少什么?

DMN 文件如下所示:

在“dmnModel”中导入文件后:

我这样称呼 Drools 评估:

0 投票
1 回答
217 浏览

drools - 在 Red Hat Decision Central 中创建不反映复杂类型/结构的决策表

我在 Decision Manager 7.3 中创建了一个 DMN 决策。我创建了一些数据类型,所有这些都是带有嵌套字段的“结构”(即复杂类型)。我创建了一个决策表,其中条件列绑定到这些结构之一 ( Customer),输出列绑定到Result结构。

但是,我希望列标题能够按照此处的示例反映对象的结构(从第 9 步开始):https ://access.redhat.com/documentation/en-us/red_hat_decision_manager/7.3/html-single/设计_a_decision_service_using_dmn_models/index#dmn-data-types-defining-proc_dmn-models

在文档示例中,该Loan_Qualification类型具有嵌套字段,这些字段在表头中显示为子列。

我的数据类型定义如下: 数据类型

我有一个Customer输入节点和一个决策节点,定义如下: 输入节点

决策节点

然而在我的决策表中,列仅映射到顶级对象,如下所示: 决策表

那么关于我可能会错过什么的任何想法?提前致谢。

更新 我使用了@karreiro 下面给出的答案,它适用于结果/操作列,但是向左或向右插入输入子句会添加一个新的顶级列,而不是子列,如下所示:

添加了子栏目

您是否希望决策表编辑器也能做到这一点?

0 投票
1 回答
413 浏览

java - 如何在 Drools 的决策表中使用命中策略

我正在使用 drools 决策表来创建规则。在 xls 文件中,有多个规则可以通过为给定的事实添加合格税来修改产品的数量,并且我必须只选择一个返回最低订单金额的规则。文档中提到 DMN 命中策略已经在 7.x 系列中实现。C<的值可以在决策表的左上角指定。但是所有的规则都被解雇了。可以做什么

我试图在左上角和规则表最左边的单元格中给出 C< 的值。

我预计在触发所有规则后,应该返回 .minimum 订单值。但我得到了多个订单价值。现在一种解决方法可能是将对象传递给一个新的规则文件,该文件将提供最小的订单量,但我认为 dmn 命中策略应该在这种情况下起作用。

0 投票
1 回答
381 浏览

drools - 感觉:list contains(inputDataNumberList, 1) with inputDataNumberList= [0,1] 返回 false

我在我的 DMNModel 类中加载了这个 DMN 文件:

然后我调用: DMNResult result = dmnRuntime.evaluateAll(dmnModel, context); with context: inputNumberList [0, 1]

并得到结果:

我对 Result_3 和 Result_4 做错了什么,或者为什么评估没有在列表中找到数字?

使用字符串列表或布尔列表一切正常。

0 投票
1 回答
83 浏览

grammar - FEEL 语法:如何引用字符串文字语法规则指定的上下文条目?

A context entry&key由以下语法定义(参见 DMN v1.2,第 111 页,第 10.3.1.2 节)

考虑以下上下文对象的实例

如何"hello"从这样的对象访问?

这可能是语法中的问题吗?不确定这种加入是否有效。

0 投票
1 回答
145 浏览

drools - DMN 1.2:从另一个 ItemDefinition 引用 ItemDefinition 会导致错误

我加载这个 DMN 文件(dmnFile):

像这样:

我收到以下错误消息的异常:

[消息 [id=1, kieBase=defaultKieBase, level=ERROR, path=C:/Users/AppData/Local/Temp/tmpBA10.tmp.dmn, line=4, column=-1 text= DMN: Unable to resolve type参考节点“MyItemDefinition”上的“{ http://www.omg.org/spec/DMN/20180521/MODEL/}NumberDefinition ” (资源:C:/Users/AppData/Local/Temp/tmpBA10.tmp.dmn,DMN id:_29d92e98-3c97-67a3-22f1-d342622424f7,未找到列出的类型定义)]]

带前缀的类型引用 ("ns:NumberDefinition") 会导致以下错误消息:

[消息 [id=1, kieBase=defaultKieBase, level=ERROR, path=C:/Users/AppData/Local/Temp/tmpBA10.tmp.dmn, line=4, column=-1 text= DMN: Unable to resolve type参考节点“MyItemDefinition”上的“{ http://www.omg.org/spec/DMN/20180521/MODEL/}ns:NumberDefinition ” (资源:C:/Users/AppData/Local/Temp/tmpBA10.tmp.dmn ,DMN id:_29d92e98-3c97-67a3-22f1-d342622424f7,未找到列出的类型定义)]]

我做错了什么?

当使用 DMN 1.1 (xmlns="http://www.omg.org/spec/DMN/20151101/dmn.xsd") 并将引用类型作为 QNames(带前缀)时,我得到了预期的结果。

0 投票
1 回答
388 浏览

redhat - Business Central 从另一个 DMN 调用 DMN 文件

我正在使用RedHat Business Central并尝试从另一个文件调用一个 DMN 文件。

用例 - 如果薪水 > 40000 则从 firstdmn 计算Tax,否则seconddmn计算

在此处输入图像描述

我在Tax DMN 决策中添加了上下文文字表达式,并在下面包含了一个模型。但不知道如何进一步进行。请建议该怎么做。

在此处输入图像描述

0 投票
0 回答
21 浏览

python - python RSOME中决策变量数组和整数列表的元素乘法

我有一个决策变量数组,我想将每个决策变量与列表的不同整数相乘这是一个示例:

我的问题是如何确保此操作实际上是在进行元素乘法?当我检查 x 或 y 类型的类型时,我得到 3 个连续变量,PriceImp*Pimp 是 1x3 仿射表达式,但它是元素乘法吗?