设为首页 | 收藏本站
18515218668

解读盒装上下文

发表时间:2026-04-02 17:11作者:Together规则引擎
文章附图

在DMN规范中,盒装上下文(Boxed Context)是一种重要的图形化表示法,用于定义和组织决策逻辑中的一组键值对。

2.png

以下是关于盒装上下文的详细说明:

1.基本定义与用途

l   结构定义:盒装上下文是由n个(名称,值)对组成的集合,并带有一个可选的结果值(result value)。

l   上下文条目:每一个“(名称,值)”对被称为一个上下文条目(context entry)。

l   逻辑分解:它的主要用途是将复杂的表达式分解为一系列更简单且命名的中间结果表达式,从而提高模型的可读性。

2.图形布局

盒装上下文有两种标准的排列方式:

l   纵向布局(Vertical Context):条目名称位于左侧列,对应的值位于右侧列。表格底部通常可以包含一个单独的“结果框”。

l   横向布局(Horizontal Context):条目名称位于上方行,对应的值位于下方行。

3.执行语义与结果返回

根据是否包含结果框,盒装上下文的返回值不同:

l   不含结果框:整个上下文会被解释为一个包含所有条目的FEEL上下文(类似于Map或JSON对象),常用于表示复杂的输入数据或案例数据。

l   含有结果框:条目被视为中间变量,最终仅返回“结果框”内表达式的计算值。结果框内的表达式可以引用前面定义的任何条目。

4.建模规则与约束

l   命名唯一性:在同一个上下文中,所有的条目名称必须是唯一的。

l   引用顺序:上下文条目中的表达式不能引用其自身的键,但可以引用在同一上下文中排在其之前的条目。

l   递归嵌套:盒装上下文是递归定义的,这意味着一个上下文条目的“值”本身也可以是另一个盒装表达式,例如一个决策表或另一个嵌套的上下文。

l   可访问性:如果盒装上下文没有结果框,其内部条目对外部是可见的(通过路径表达式访问);如果含有结果框,则内部条目仅在当前上下文范围内可见。

5.示例应用

在实际建模中,盒装上下文常用于计算中间业务指标。例如,在计算“合格性(Eligibility)”时,可以先定义“年龄”、“月收入”、“风险等级”等多个条目作为中间步骤,最后在结果框中使用`if...then...else`逻辑得出最终的合格结论。

文章分类: DMN建模
分享到:
精选文章
公众号
关于我们
联系方式
让您的业务更自动化、智能化!
联系邮箱:   zhangyi@rongtek.com      wangyilong@rongtek.com
咨询热线:185 1521 8668        183 3562 2627
电话:010-8200081