Neo4j 使用if和merge的Cypher查询中的问题

Neo4j 使用if和merge的Cypher查询中的问题,neo4j,cypher,Neo4j,Cypher,在给定的密码查询中,它显示错误。请让我知道以下密码查询中的错误: MATCH (pcp:PCP)-[]->(mt:MONEYTRANSFER{MTCN:'1618087665684829'}) return CASE WHEN EXISTS( (pcp)-[:SENT_BY]-(mt{MTCN:'1618087665684829'}) ) THEN null ELSE MERGE (pcp:PCP)-[]->(mt:MONEYTRANSFER{MTCN:'16180876656

在给定的密码查询中,它显示错误。请让我知道以下密码查询中的错误:

MATCH (pcp:PCP)-[]->(mt:MONEYTRANSFER{MTCN:'1618087665684829'}) return 
CASE WHEN  EXISTS( (pcp)-[:SENT_BY]-(mt{MTCN:'1618087665684829'}) ) 
THEN null ELSE MERGE (pcp:PCP)-[]->(mt:MONEYTRANSFER{MTCN:'1618087665684829'})
END
尝试在stackoverflow上执行此操作。它给出了使用合并案例的示例

您的查询有一个变通方法:

MATCH (pcp:PCP)-[r]->(mt:MONEYTRANSFER{MTCN:'1618087665684829'})
WITH pcp,r,mt, CASE WHEN (type(r) = 'SENT_BY') THEN [] ELSE ['create'] 
END as array1
FOREACH (el1 in array1 | CREATE (pcp)-[:SENT_BY]->(mt))
return pcp,mt,r
编辑:如果不指定关系的标签/类型,则无法创建关系


希望这有帮助

怎么了?应该是这样的comment@GovindSingh我正在编辑我的答案。正如你所看到的,我还没有发表评论的特权