Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据Neo4j中的特定条件创建节点_Neo4j - Fatal编程技术网

根据Neo4j中的特定条件创建节点

根据Neo4j中的特定条件创建节点,neo4j,Neo4j,如果满足某些条件,我想在数据库中创建一些新节点 MATCH (u:User)-[:has]->(a:Account)-[:initiated]->(l:Process) WHERE ID(l)=984 UNWIND [{mobile:123,email:'a@b.com'}, {mobile:456, email:'a1@b1.com'}] as x OPTIONAL MATCH (u1:User) WHERE u1.mobile = x.mobile OR u1.email =

如果满足某些条件,我想在数据库中创建一些新节点

MATCH (u:User)-[:has]->(a:Account)-[:initiated]->(l:Process) WHERE ID(l)=984 
UNWIND [{mobile:123,email:'a@b.com'}, {mobile:456, email:'a1@b1.com'}] as x
OPTIONAL MATCH (u1:User) WHERE u1.mobile = x.mobile OR u1.email = x.email CASE u1 WHEN u1 IS NULL THEN CREATE (u)-[:pending]->(p:Pending {mobile: x.mobile, email: x.email})
ELSE CREATE (u1)-[:pending]->(p:Pending {mobile: x.mobile, email: x.email})
END 
我想检查是否有手机或电子邮件用户存在。如果存在,我想创建附加到该节点(u1)的节点(p),否则我想创建附加到我的节点的节点,即(u)


不知何故,create在case中不起作用当前执行条件写入的唯一方法是使用
FOREACH/case WHEN
技巧。根据您的条件,您可以创建一个1元素或一个空数组,并使用
FOREACH
对其进行迭代,例如

...
FOREACH(x in CASE WHEN u1 IS null THEN [1] ELSE [] END | 
  CREATE (u)-[:pending]->(p:Pending {mobile: x.mobile, email: x.email}))
FOREACH(x in CASE WHEN u1 IS NOT null THEN [1] ELSE [] END | 
  CREATE (u1)-[:pending]->(p:Pending {mobile: x.mobile, email: x.email}))

有关更多详细信息,请参阅。

我尝试了此操作,但收到的错误消息为无效输入“|”:应为空格、注释“.”、节点标签“[”、“=~”、IN、开始、结束、包含、IS、“^'、“*”、“/”、“%”、“+”、“-”、“=”、“!=”、“、“=”、和XOR或结束(第2行,第53列(偏移量:293))“FOREACH(如果u1为空,则为x)[1]ELSE[]|“我忘记了
END
FOREACH(如果u1为空,那么[1]ELSE[]END |创建(u)-[:pending]->(p:pending{mobile:x.mobile,email:x.email}))