2016-08-19 44 views
0

這是我Py2neo查詢Neo4j的數據庫我的Py2neo的Neo4j查詢出了什麼問題?

MATCH (u:User),(p:Prize),(ca:Category) CREATE (ch:Challenge {chid:'dassdshhhhasdasda',challenge_title:'Exm 2015', total_question_per_user:200,challenge_status:1,timestamp:'1471516538.4643',date:'2016-08-18'}), (p)-[:BELONG {rank:3}]->(ch),(ca)-[:BELONG {percentage_question:20}]->(ch) WHERE u.username = '[email protected]' AND p.pid = 'e766d8cd-26d1-4848-ac97-15c233caa4d4' AND ca.catname = 'nature' 

但是,當我在Neo4j的數據庫命令行手動運行它,然後它顯示錯誤

Invalid input 'H': expected 'i/I' (line 1, column 287 (offset: 286)) 
"MATCH (u:User),(p:Prize),(ca:Category) CREATE (ch:Challenge {chid:'dassdshhhhasdasda',challenge_title:'Exm 2015', total_question_per_user:200,challenge_status:1,timestamp:'1471516538.4643',date:'2016-08-18'}), (p)-[:BELONG {rank:3}]->(ch),(ca)-[:BELONG {percentage_question:20}]->(ch) WHERE u.username = '[email protected]' AND p.pid = 'e766d8cd-26d1-4848-ac97-15c233caa4d4' AND ca.catname = 'nature'" 

我想用WHERE條款,沒有WHERE我運行此查詢這樣便其工作

MATCH (u:User {username:'[email protected]'}),(p:Prize{pid:'e766d8cd-26d1-4848-ac97-15c233caa4d4'}),(ca:Category {catname:'nature'}) CREATE (ch:Challenge {chid:'dassdsdjgjasdasdasda',challenge_title:'Exm 2015', total_question_per_user:200,challenge_status:1,timestamp:'1471516538.4643',date:'2016-08-18'}), (p)-[:BELONG {rank:3}]->(ch),(ca)-[:BELONG {percentage_question:20}]->(ch) 

回答

1

您正在使用WHERE條款在錯誤的地方。 Where子句需要與MATCH陳述結合使用,而不是CREATE

事情是這樣的......

MATCH (u:User),(p:Prize),(ca:Category) 
WHERE u.username = '[email protected]' 
AND p.pid = 'e766d8cd-26d1-4848-ac97-15c233caa4d4' 
AND ca.catname = 'nature' 
CREATE (ch:Challenge {chid:'dassdshhhhasdasda', 
    challenge_title:'Exm 2015', 
    total_question_per_user:200, 
    challenge_status:1, 
    timestamp:'1471516538.4643', 
    date:'2016-08-18'}) 
    ,(p)-[:BELONG {rank:3}]->(ch) 
    ,(ca)-[:BELONG {percentage_question:20}]->(ch)