Neo4j OGM - 滤波器组合

问题描述 投票:0回答:1

我需要在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,不允许有任何优先权等)?

neo4j spring-data-neo4j neo4j-ogm
1个回答
0
投票

看起来这在当前的版本中是不可能的,我最后把条件树 "扁平化 "成这样的结构。

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,应该是可行的。

© www.soinside.com 2019 - 2024. All rights reserved.