Ich habe die folgende Abfrage:Cant ausführen bedingte Abfrage mit shortestPath mit Cypher
MATCH (me:label1{userId:{1}})-[rel:nearby_group]-(group:GROUP)
WHERE NOT ((me)-[:relation_1|relation_2*1..3]-()--(group))
DELETE rel
ofcourse von Profiler Ich erhalte viele Hits Coz zweiten Teil meiner Anfrage (die einer nach dem, wo nicht viele interne hat Schleifen)
wollteich es mit shortestPath verbessern:
PROFILE
MATCH (me:label1{userId:{1}})-[rel:nearby_group]-(group:GROUP)
WHERE NOT shortestPath((me)-[:relation_1|relation_2*1..3]-()--(group))
DELETE rel
aber erraten kann nicht tun es syntaktisch:
Neo.ClientError.Statement.InvalidSyntax
Eine Idee, wie kann ich kürzestePfad in meiner Abfrage verwenden oder auf andere Weise verbessern?
Screenshot von Profiler:
So habe ich die Abfrage auf diese Weise geändert:
PROFILE
MATCH (me:label1{userId:{1}})-[rel:nearby_group]-(group:GROUP)
WHERE NOT shortestPath((me)-[:relation_1|relation_2*1..3]-(group))
DELETE rel
Aber iam ein leeres Ergebnis. ich erwartet, dass die folgende Beziehung zu sehen, gelöscht werden und es den Ball hielt:
Jede Idee?
Danke, Strahl.
ich Ihre Antwort verwendet. immer noch Neo.ClientError.Statement.InvalidSyntax – rayman
erhalten Sie tatsächlich auf neo4j ausführen? – rayman
I diese 2 Doppelpunkte waren nicht meine Syntaxfrage, da es nur ein Tippfehler war, als ich hier schrieb. meine Frage geändert und immer noch der gleiche Fehler – rayman