问题标签 [feel-language]

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 回答
702 浏览

drools - 如何访问 DMN 中 FEEL 列表文字表达式中的列表元素?

我有以下对象列表:

我想animal访问dog family and white color. 我试图通过这样做来实现它:

但它显示警告如下:

这里到底有什么不正确的?我觉得我在语义上做错了什么。我还参考了 FEEL 的规范,但无法弄清楚出了什么问题。我还参考了Redhat的 DMN 决策建模文档,但我仍然一无所知。请帮忙。

0 投票
1 回答
32 浏览

dmn - 感觉语言内置字符串函数“替换”是否会影响搜索模式的第一个匹配或所有出现?

决策模型和符号感觉语言有许多内置函数。对于字符串,一个函数是replace. 它接受搜索字符串、正则表达式模式、替换字符串和可选标志。

replace只对第一个正则表达式匹配起作用还是替换所有匹配?DMN 1.3 版规范,第 138 页,似乎没有解决这个问题。

0 投票
2 回答
79 浏览

dmn - 是否已经有一个开源的 Java 库,并且可以通过 Maven 实现 FEEL 语言?

是否已经有一个 Java 库开源并可通过 Maven 获得,它实现了 Drools 以外的 FEEL?

0 投票
1 回答
99 浏览

jbpm - 可循环自定义数据类型列表的 DMN 模型规则

我有一个类似于下面的 json 示例的数据结构,我想遍历嵌套列表以获取“DetailType”,检查单个“DetailType”是否为“ABC”,然后不要检查其余的 Accounts 并返回 true。这如何在 DMN 中建模。基本上,如果客户有一个具有“DetailType”=“ABC”的帐户,那么它就是一个有效的客户。

0 投票
1 回答
15 浏览

dmn - 关于“in”运算符,表 55,语法规则 49.c 在 DMN 1.3 规范中是什么意思?

第 124 页,表 55,Decision Model and Notation,v1.3 规范中的语法规则 49.c 有一个被截断的描述。使用“in”运算符的语义是什么?

图表中“适用性”的单元格被切断了,所以我不知道它在说什么,也无法在图表之外找到描述它的文本。

缺少的文字是什么,它是什么意思?

我正在编写一个 FEEL 语言编译器,所以我需要了解所有语义。

0 投票
1 回答
73 浏览

dmn - 通过 DMN 中的业务知识模型返回时处理 null

我正在尝试在 kie 服务器上使用 DMN 制定一些业务规则。

我有结构数据对象及其列表,这是我的输入。我正在使用规则来验证我的结构列表并只获取那些通过我的条件的人。

我正在使用 BusinessKnowledgeModel,它对每个对象都有实际条件,并且我有决策逻辑,它遍历我的列表并调用 BusinessKnowledgeModel 函数。

决策迭代器感觉语言代码:

对于 InputList 中的 inputParam,返回 BusinessKnowledgeModel(inputParam)

在 BusinessKnowledgeMode 中,我的函数由决策表组成,该决策表通过感觉表达式检查我的状况。

我不想从函数中获取 null 作为 otput,我只想跳过它。

我的努力:

我确实尝试过探索尝试找到各种方法;比如查找是否可以在 for 循环中使用 continue 关键字。甚至尝试在数据对象上添加约束,但不能在结构上添加空约束。

0 投票
1 回答
138 浏览

java - DMN - 通过 FEEL 表达式匹配 Java 枚举

我有一个 Java 枚举作为 DMN 决策表中的输入。DMN 调用直接嵌入在 Java 应用程序中。所以采取一些枚举:

我将此枚举的一个实例作为输入传递 -dmnContext.set("Foo", foo);

我希望能够为字符串类型的 foo 设置一个决策表输入,并有一个匹配“ONE”的规则。但是,这不起作用,因为没有 POJO-String 转换。在 Java 代码中,我可以将 foo 存储为字符串并根据枚举值对其进行验证(即检查 foo 是否在集合 ["ONE", "TWO"] 中),但这会使应用程序的其他部分复杂化。

在仍然使用枚举类型的同时如何实现这一点?

0 投票
2 回答
44 浏览

operators - DMN 感觉多个不等于 (!=)

我正在联系 DMN FEEL 逻辑运算符不等于的挑战。

!=基本上,当在单个字段中放置多个 Not Equals ( ) 时,我们不会得到正确的结果。从附加的示例中,我们基本上在第 3 列中放置了一个条件,如果Input.CallPurpose.Code不等于 2 或 1 - !="2", !="1" - 那么它应该命中该行并返回输出,但如果我们通过“2”或“1”然后它应该跳过这一行并尝试相应地点击以下行。

在我们的例子中,如果我们通过 (2) 它会命中第一个运算符 (!= 2) 并将跳过作为预期结果的行;但是,如果我们通过 (1),它将不会与第二个 (!=) 进行比较,也不会跳过错误结果的行

如果我们通过一个 != 它可以工作

在这一点上的任何帮助将不胜感激

谢谢

在此处输入图像描述