我需要在neo4j-ogm中使用FilterFilters形成一个动态查询,简化版的查询可能是这样的。
(A and B and C)
and (
(
(D or E) and not (F or J)
)
or
(
(H or I) and not (G or K)
)
or
...... more conditions like this
)
)
我找不到如何使用Filters将它们组合成逻辑结构来实现这个功能(我是不是找得不够仔细?
这有可能吗(从实现上看,Filters在内部被维护成一个普通的List,不允许有任何优先权等)?
看起来这在当前的版本中是不可能的,我最后把条件树 "扁平化 "成这样的结构。
A and B and C and D and not F and not J or
A and B and C and E and not F and not J or
A and B and C and H and not G and not K or
A and B and C and I and not G and not K
这样的结构相当丑陋,而且在调试时无法阅读,但是With AND优先于OR,应该是可行的。