繁体   English   中英

我的Neo4j查询Py2neo有什么问题?

[英]What is wrong with my Neo4j query for Py2neo?

这是我对Neo4j数据库的Py2neo的查询

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 = 'xyz@gmail.com' 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 = 'xyz@gmail.com' AND p.pid = 'e766d8cd-26d1-4848-ac97-15c233caa4d4' AND ca.catname = 'nature'"

我想使用WHERE子句,如果没有WHERE我会像这样运行此查询,然后它可以工作

MATCH (u:User {username:'xyz@gmail.com'}),(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)

您在错误的位置使用了WHERE子句。 where子句需要与MATCH语句一起使用,而不是CREATE

像这样

MATCH (u:User),(p:Prize),(ca:Category) 
WHERE u.username = 'xyz@gmail.com' 
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) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM