Ich habe Mühe, eine verkettete Liste mit einer Chiffre-Anweisung zu tun. Ich versuche für jedes k folgendes zu tun. Die verkettete Liste und die NEXT-Beziehung sollten durch k isoliert sein.Erstellen Sie eine verknüpfte Liste für alle Knoten, die durch Knoten mit Chiffre verbunden sind
match (elem:Event)<-[r:HAS_EVENT]-(k)
WITH elem ORDER BY elem.id ASC
WITH COLLECT(elem) AS elems
FOREACH (n IN RANGE(0, LENGTH(elems)-2) |
FOREACH (prec IN [elems[n]] |
FOREACH (next IN [elems[n+1]] |
MERGE (prec)-[:NEXT]->(next))))
Da es ist nicht möglich, eine MATCH-Anweisung in einer foreach-Anweisung zu tun, habe ich versucht, MATCH (a: Some_Label) mit einem als x UNWIND x als k und anderen Möglichkeiten, diesen Code auszuführen, indem für jeden k (ID-Sperre usw.). Ich habe immer eine lange Kette von: NEXT durch alle: Event-Knoten, was darauf hindeutet, dass die Match-Anweisung alle k Knoten berücksichtigt. Ich brauche Hilfe, wie man: Some_Label Knoten zusammenbringt und jedes von ihnen an den obigen Code weitergibt.
Wie sehen Ihre Daten aus und wer ist 'k'? Können Sie Ihr Problem einfacher/detaillierter beschreiben? –
k ist ein Support-Ticket in diesem Fall. Also ich möchte eine verknüpfte Liste für jedes Ticket erstellen. Jeder: Ereignisknoten hat einige andere Knoten, Status, Kategorisierung usw. angehängt. Jeder: Ticketknoten hat mehrere: Ereignisknoten. : Ticket und: Event-Etiketten sind durch ID indiziert Das Problem ist, dass ich die Tickets (MATCH (k: Ticket)), die ich in meinem Diagramm haben möchte und führen Sie den obigen Code für jedes k aus einer vorherigen Übereinstimmungserklärung. Idealerweise aus einer CSV-Anweisung LOAD, da neue Einträge auf diese Weise geladen werden, aber das ist nicht notwendig –
MATCH (a: Ticket) mit einem --- ETWAS --- übereinstimmen (elem: Ereignis) <- [r: HAS_EVENT] - (k) MIT elem ORDER BY elem.ID ASC MIT COLLECT (elem) AS Elemente FOREACH (n IN RANGE (0, LENGTH (elems) -2) | FOREACH (vor IN [elems [n]] | FOREACH (nächstes IN [elems [n + 1 MERKEN (prec) - [: NEXT] -> (next)))) –