के साथ केस अभिव्यक्ति मैं साइफर में तर्क लागू करने की कोशिश कर रहा हूं, जहां एक विशेष स्थिति (CASE
स्टेटमेंट) के आधार पर, मैं कुछ नोड्स और रिश्ते बनाएगा; मैं एक संपत्ति के आधार पर एक संबंध बनाने के लिए कोशिश कर रहा हूँसाइफर नियो 4 जे - मेरिज
Invalid input ']': expected whitespace or a relationship pattern (line 7, column 82) "MERGE (u)-[r2:STAGE {startdate:20141225, enddate:'99999999', status:'InProgress'}]->(b2 {fork:'fail'}) RETURN 1"
असल:
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
इस क्वेरी में नीचे के रूप में वहाँ WHEN 'y' THEN
के भीतर एक merge
बयान है कोड है, इस क्वेरी एक त्रुटि फेंकता यानी MERGE
CASE
कथन के भीतर, मैंने इस काम को वापस करने की तरह काम करने के विभिन्न तरीकों की कोशिश की ताकि मामला कुछ मूल्य लौटाए। लेकिन अब तक कुछ भी काम नहीं किया है।
इस प्रश्न के साथ समस्या क्या हो सकती है?
धन्यवाद स्टीफन, हाँ आप सही हैं, ऐसा लगता है हम foreach का उपयोग करने की जरूरत है, मैं भी StackOverflow में अपने पहले पोस्ट में से एक के रूप में भेजा, अंत में तर्क इस तरह है, बी 2, बी 1, जी, आर 1, केस जब (बी 1.फोर = 'वाई' और बी 2.फर्क = 'सफलता') या (बी 1.फोर = 'एन') या (बी 1। कांटा = 'सफलता') फिर ['ठीक'] ELSE [] END के रूप में END1 FOREACH (सर 1 में el1 | मेरिज (यू) - [आर 2: चरण {स्टार्टडेट: 20141225, एंडडेट: 99 99 99 99, स्थिति: 'इन प्रोग्रेस'}] -> (बी 2)) – deepesh
अच्छी चाल है, लेकिन क्या आप समझा सकते हैं कि 'THEN [1] ELSE [] 'का अर्थ क्या है, और' अनदेखा करें '* क्या है (क्षमा करें, मैं आपको अनदेखा नहीं कर सकता) *? – ADTC
ऊपर लिखे गए मार्क के ब्लॉग पोस्ट को पढ़ें। –