Wie finde ich die längsten Pfade mit Verschlüsselungsabfrage?

Ich möchte eine Verschlüsselungsabfrage schreiben, die alle längsten Pfade unter Knoten findet, die in Beziehung zu der Eigenschaft STATUS = "on" stehen. Dies habe ich bisher getan:

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 

Es werden 3 Pfade mit 1,2 und 3 Länge zurückgegeben, nicht nur der längste Pfad. Meine Abfrage sollte nur die längsten Pfade finden. Ich meine, wenn es 8 Pfade gibt, die zu meiner ersten where-Bedingung passen (where rel.status='on'), mit der Länge von 1,2,3,3,4,6,6,6, sollten nur die drei Pfade mit der Länge von 6 zurückgegeben werden.

Was soll ich tun?

bitte führe mich, ich bin neu in neo4j und habe viel ausprobiert, aber nichts anderes als Schwindel, ich werde so dankbar für deine Hilfe sein.