neo4j:如何导入和创建多个关系
我掌握了Neo4j桌面的基本知识。这是一个生产案例:我们有工作流ID。当工作流作业完成时,它会触发另一个作业开始。这就是关系 我已经定义了300个WF工作,现在我只需要创建800个关系。我可以一次做一个。例如,这项工作:neo4j:如何导入和创建多个关系,neo4j,cypher,Neo4j,Cypher,我掌握了Neo4j桌面的基本知识。这是一个生产案例:我们有工作流ID。当工作流作业完成时,它会触发另一个作业开始。这就是关系 我已经定义了300个WF工作,现在我只需要创建800个关系。我可以一次做一个。例如,这项工作: MATCH (u) WHERE u.WF_ID = 7 MATCH (v) WHERE v.WF_ID = 8 CREATE (u)-[:TRIGGERS]->(v) return u,v; 但是如果我像上面那样使用一大堆命令,要么复制粘贴到浏览器中,要么导入文件,我
MATCH (u) WHERE u.WF_ID = 7
MATCH (v) WHERE v.WF_ID = 8
CREATE (u)-[:TRIGGERS]->(v) return u,v;
但是如果我像上面那样使用一大堆命令,要么复制粘贴到浏览器中,要么导入文件,我就会出错。我试着这样做:
MATCH (u) WHERE u.WF_ID = 8
MATCH (v) WHERE v.WF_ID = 10
CREATE (u)-[:TRIGGERS]->(v)
MATCH (u) WHERE u.WF_ID = 11
MATCH (v) WHERE v.WF_ID = 12
CREATE (u)-[:TRIGGERS]->(v)
MATCH (u) WHERE u.WF_ID = 11
MATCH (v) WHERE v.WF_ID = 14
CREATE (u)-[:TRIGGERS]->(v)
return u,v
我得到:
WITH is required between CREATE and MATCH (line 2, column 1 (offset: 85))
"MATCH (u) WHERE u.WF_ID = 11 MATCH (v) WHERE v.WF_ID = 12 <br>CREATE (u)-[:TRIGGERS]->(v)"
我正在查看关于的Cypher文档,但这并不能帮助我理解本案例需要什么
谢谢你的帮助
WITH还用于将图形的读取与更新分开。
查询的每个部分都必须是只读或只读的。什么时候
从写部分到读部分,必须进行切换
带有with子句
因此,您需要在需要中间变量结果的部分之间添加,因为否则只有最后一个结果将返回:
MATCH (u) WHERE u.WF_ID = 8
MATCH (v) WHERE v.WF_ID = 10
CREATE (u)-[r:TRIGGERS]->(v)
WITH [[u, v, r]] AS result
MATCH (u) WHERE u.WF_ID = 11
MATCH (v) WHERE v.WF_ID = 12
CREATE (u)-[r:TRIGGERS]->(v)
WITH result + [[u, v, r]] AS result
MATCH (u) WHERE u.WF_ID = 11
MATCH (v) WHERE v.WF_ID = 14
CREATE (u)-[r:TRIGGERS]->(v)
WITH result + [[u, v, r]] AS result
RETURN result
但这种查询的变体很难看。由于每个部分的结果不会在下一部分中使用,因此我们可以使用UNION:
或者,我们可以使用“展开”功能使查询更加紧凑:
明亮的谢谢大家!@当有人回答我的问题时,我该怎么办-
MATCH (u) WHERE u.WF_ID = 8
MATCH (v) WHERE v.WF_ID = 10
CREATE (u)-[r:TRIGGERS]->(v)
RETURN u, v, r
UNION
MATCH (u) WHERE u.WF_ID = 11
MATCH (v) WHERE v.WF_ID = 12
CREATE (u)-[r:TRIGGERS]->(v)
RETURN u, v, r
UNION
MATCH (u) WHERE u.WF_ID = 11
MATCH (v) WHERE v.WF_ID = 14
CREATE (u)-[r:TRIGGERS]->(v)
RETURN u, v, r
WITH [[8, 10], [11, 12], [11, 14]] AS pids
UNWIND pids AS ids
MATCH (u) WHERE u.WF_ID = ids[0]
MATCH (v) WHERE v.WF_ID = ids[1]
CREATE (u)-[r:TRIGGERS]->(v)
RETURN u, v, r