como encontrar todos os caminhos mais longos com consulta cypher?
Eu quero escrever uma consulta cypher que encontra todos os caminhos mais longos entre os nós que têm relação com a propriedade STATUS = "on" entre si, isso é o que eu fiz até agora:
start n=node(*)
match p = n-[r:INCLUDE*..]->m
with n,MAX(length(p)) as l
match p = n-[r:INCLUDE*..]->m
WHERE all(rel in r
where rel.status='on' AND (length(p) = l) )
return p,l
Ele retorna 3 caminhos com 1,2 e 3 de comprimento, não apenas o caminho mais longo, minha consulta deve encontrar apenas os caminhos mais longos, quero dizer, se existem 8 caminhos que se adequam ao meu primeiro onde condição (where rel.status='on'
), com o comprimento de 1,2,3,3,4,6,6,6, apenas os três caminhos com o comprimento de 6 devem ser devolvidos.
que shoud eu faço?
por favor me guie, eu sou novo em neo4j, e tentei muito, mas não tenho nada além de tontura, eu serei muito grato por sua ajuda.