我正在用drools做一些早期的实验,使用DMN编写规则。
在我的用例中,输入数据可能很大,而且变化很大。还有一些输出可能会在单独调用规则引擎期间作为输入传递回来。
因此,一些输入变量可能与我的一些输出变量具有相同的名称。这似乎引起了问题。
>
我的观察正确吗?
是否有一种常见的模式来避免这样的问题(可能是某种变量命名空间或作用域)?
编辑:
decision的决策逻辑的输入变量不能在该值表达式或其组件值表达式之外使用:decision元素为其决策逻辑定义输入变量的词法范围。为了避免名称冲突和歧义,变量的名称在其作用域内必须是唯一的。当DRG元素映射到FEEL时,变量的名称与其关联的输入数据或决策的名称(可能是限定的)相同,这保证了其唯一性。
如果我正确理解您的问题,那么您正在尝试建模一个DMN模型,其中一些DRGElement(InputData
、Decision
,...)节点共享相同的名称。
这不符合DMN标准规范的有效模型,我们已经通过kie-dmn-validation
模块进行了检查,该模块将报告此问题。甚至在试图通过Drools DMN引擎“编译”DMN模型之前,就会报告该问题。
示范:
问题内容: 最近,我被分配创建拍卖系统的任务。在我的工作中,我遇到了无数次由于列名不明确而导致包含联接的SQL查询无法执行的情况。考虑以下(简化的)拍卖表结构: 表: (创建拍卖的用户的ID) 表: (添加项目的用户的ID) (有该物品的拍卖的ID) (初始价格) 表: 表: (出价的用户的ID) (已提高价格的项目) (优惠价格) 如您所见,有许多列具有冲突的名称。连接这些表需要采取一些措施来消
我试图在Laravel中加入3个表后查看特定表的日期。但是它只显示一个表的信息。 下面是连接3个表的代码: 路由文件: 下面是查看刀片模板中信息的脚本 刀片中的代码: 这里我想查看发票的创建日期,但它显示了subscribers表中订户的创建日期。但我想从发票表中查看发票的具体日期。 我该怎么做?当做
因此,我试图分析我的元组集,看看对于该集中的x,是否有两对分别由2个元素和3个元素组成的元素。 所以就像每个第一个字符一样,必须有3个相同的字符和2个相同的字符。。。 但它们必须是连接的,例如如果有3A和2C,则顺序只能是AAAAC或CCAAA,而不能是CACAA或ACCAA等 那么比如说,, 下面是我对代码的尝试 然而,我的代码只有在它是一个列表时才起作用。。。当我放入一组元组时,它不起作用。。
我正在编写一个代码,要求用户输入一个数字,如果输入的不是数字,它将要求用户再次输入。哪个环路最好?
问题内容: 我一直在试图阻止例外,但我不知道怎么办。我尝试过,等等。 有谁知道如何解决此问题?由于复制和粘贴,格式化有些偏离。 我尝试过的其他方法: 问题答案: 在我看来,您想跳过所有内容,直到获得整数。此代码在这里跳过除整数以外的所有输入。 只要没有可用的整数(而(!in.hasNextInt())),则丢弃可用的输入(in.next)。当整数可用时-读取它(int num = in.nextI
在上面的程序中,如果我编写combiner类,它将如何工作,据我所知combiner是映射器级别的聚合器,然而在本例中我们有两个映射器逻辑。 组合器逻辑是否会应用于两个映射器逻辑 有没有什么方法可以将组合器逻辑应用到任何一个映射器逻辑