-
Key: DMN17-22
-
Status: open
-
Source: Oracle ( Gary Hallmark)
-
Summary:
some notes toward a proper description:
FEEL has ordered lists and some set builtins, e.g. distinct values and union. Lacks intersection and equality.[1,2] in (1,2,[1,2], 3) is true
intersect([1,2,3], [3,1,4]) = [1,3]
set equals([1,1,3], [3,1]) is true
probably - distinct values([1,1,3]) = distinct values([3,1])
maybe change to set([1,1,3]) = set([3,1])
(set needs to both remove dups and return elements in canonical order)
what is canonical order [null, 0, {}, []]?
[1,3] = [3,1] is falseAnother option is to add sets to FEEL semantic domain (along with lists, numbers, contexts, ...). And need syntax.
simpler and more biz friendly proposal - add 'contains any' and 'contains all' as boolean infix operators taking 2 lists as LHS and RHS. And allow these to be added to unary tests w/o a '?'. E.g. 1,2,3 , in (1,2,3) , contains any (1,2,3), contains all (1,2,3). First 2 are what we have now (2nd allowed for symmetry). Last 2 assume input expr is a list (set).
if we just add set oriented builtins, but no friendlier syntax, this may not solve the biz problem of allowing DTs to process sets in a user friendly way. Too many ()s and ?s
-
Reported: DMN 1.1 — Thu, 11 Aug 2016 15:35 GMT
-
Updated: Fri, 21 Jun 2024 17:56 GMT
DMN17 — need set operations and equality in FEEL
- Key: DMN17-22
- OMG Task Force: Decision Model and Notation 1.7 RTF