Neo4J Cypher - CASE-Ausdruck mit MERGE

Bin ich versucht zu implementieren, die Logik in der Cypher, wo, basierend auf einer bestimmten Bedingung (CASE- Anweisung), würde ich erstellen Sie einige Knoten und Beziehungen; der code ist als unten

MATCH (g:Game)-[:PLAYER]->(u:User)-[r1:AT]->(b1:Block)-[:NEXT]->(b2:Block) 
WHERE g.game_id='G222' and u.email_id = '[email protected]' and b1.block_id='16' 
SET r1.status='Skipped', r1.enddate=20141225
WITH u, b2,b1, g, r1
SET b1.test = CASE b2.fork 
WHEN 'y' THEN
     MERGE (u)-[r2:STAGE {startdate:20141225, enddate:'99999999', status:'InProgress'}]->(b2     {fork:'fail'}) RETURN 1
ELSE 
     MERGE (u)-[r2:STAGE {startdate:20141225, enddate:'99999999', status:'InProgress'}]->(b2)   RETURN 2
END
WITH u, g
MATCH (u)-[:TIME]->(h:Time)<-[:TIME]-(g)
SET h.after = 0
SET h.before = h.before + 1

In dieser Abfrage gibt es eine merge - Anweisung innerhalb der WHEN 'y' THEN diese Abfrage wirft eine Fehlermeldung:

Ungültige Eingabe ']': expected whitespace oder eine Beziehung Muster (Zeile 7, Spalte 82)
"MERGE (u)-[r2:BÜHNE {"startdate": 20141225, enddate:'99999999', status:'InProgress'}]->(b2 {Gabel:'fail'}) RETURN 1"

Grundsätzlich bin ich versucht, zu erstellen eine Beziehung basierend auf einer Eigenschaft, d.h. eine MERGE innerhalb einer CASE Aussage, habe ich versucht, verschiedene Möglichkeiten, um diese Arbeit tun, wie eine Rückkehr, so dass Fall wenn gibt einige Wert etc. aber nichts funktionierte so weit.

Was könnte das Problem mit dieser Abfrage?

InformationsquelleAutor deepesh | 2014-12-20
Schreibe einen Kommentar