Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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如何使用apoc.merge.relationship将第二个自定义节点和关系添加到现有密码中_Neo4j_Cypher_Graph Databases - Fatal编程技术网

Neo4j如何使用apoc.merge.relationship将第二个自定义节点和关系添加到现有密码中

Neo4j如何使用apoc.merge.relationship将第二个自定义节点和关系添加到现有密码中,neo4j,cypher,graph-databases,Neo4j,Cypher,Graph Databases,所以我在neo4j中处理电子邮件数据。在下面的示例中,发送者是一个节点,链接(如果电子邮件包含链接)是一个节点,这些节点通过使用csv中列结果的关系连接。“结果”列可以是以下两种内容之一:已中止或已交付 LOAD CSV WITH HEADERS FROM ("file:///sessions/parsed_message_amp.csv") AS row WITH row WHERE NOT row.Url_Sub_Fld IS null MERGE (a:Sender { name: row

所以我在neo4j中处理电子邮件数据。在下面的示例中,
发送者
是一个节点,
链接
(如果电子邮件包含链接)是一个节点,这些节点通过使用csv中列
结果
的关系连接。“结果”列可以是以下两种内容之一:
已中止
已交付

LOAD CSV WITH HEADERS FROM ("file:///sessions/parsed_message_amp.csv") AS row
WITH row WHERE NOT row.Url_Sub_Fld IS null
MERGE (a:Sender { name: row.From})
MERGE (b:Link { name: row.Url_Sub_Fld})
WITH a, b, row
CALL apoc.merge.relationship(a, row.Outcome, {}, {}, b) YIELD rel
RETURN a, b
返回:

我想向前迈出一步,添加接收
链接的
收件人
,以及另一列的第二个关系。
收件人
位于csv的
列中,关系来自
结果2
列,该列可以是
失败

LOAD CSV WITH HEADERS FROM ("file:///sessions/parsed_message_amp.csv") AS row
WITH row WHERE NOT row.Url_Sub_Fld IS null
MERGE (a:Sender { name: row.From})
MERGE (b:Link { name: row.Url_Sub_Fld})
WITH a, b, row
CALL apoc.merge.relationship(a, row.Outcome, {}, {}, b) YIELD rel
RETURN a, b
我期望的结果是:

我试过:

LOAD CSV WITH HEADERS FROM ("file:///sessions/parsed_message_amp.csv") AS row
WITH row WHERE NOT row.Url_Sub_Fld IS null
MERGE (a:Sender { name: row.From})
MERGE (b:Url { name: row.Url_Sub_Fld})
MERGE (c:Recipient { name: row.To})
WITH a, b, c, row
CALL apoc.merge.relationship(a, row.Outcome, {}, {}, b, row.Outcome2, {}, {},c) YIELD rel
RETURN a, b, c

以及使用
调用添加第二个
,但这也不起作用。我想在一个脚本中完成这一切。

您试图一次完成太多的工作。您不需要在一个调用中合并整个模式,可以使用两个对proc的调用一次合并一个段:

...
WITH a, b, c, row
CALL apoc.merge.relationship(a, row.Outcome, {}, {}, b) YIELD rel as rel1
CALL apoc.merge.relationship(b, row.Outcome2, {}, {}, c) YIELD rel as rel2
RETURN a, b, c