在将节点从 csv 创建到 neo4j 时创建关系

Posted

技术标签:

【中文标题】在将节点从 csv 创建到 neo4j 时创建关系【英文标题】:create relationships while creating nodes from csv into neo4j 【发布时间】:2016-07-03 06:54:39 【问题描述】:

我在 neo4j 中创建了一个节点,但我想创建关系在 csv 文件中的关系,如何在将 csv 添加到 neo4j 中时创建节点之间的关系...请任何人回答我..

这是我的查询

    LOAD CSV WITH HEADERS FROM "file:///opt/lampp/htdocs/cia/data/data1.csv" AS line with line
    merge(Anum:phnum:tofloat(line.`A_Number`),imei:toint(line.`IMEI_A`),imsi:toint(line.`IMSI_A`))
    merge(Bnum:phnum:tofloat(line.`B_Number`),imei:toint(line.`IMEI_B`),imsi:toint(line.`IMSI_B`)) 
    create(Anum)-[line.'Call_Type']->(Bnum)
return line;

但它没有执行,请告诉我更正

【问题讨论】:

【参考方案1】:

主要问题在于CREATE 子句指定关系的方式。关系必须始终具有类型,而属性必须始终具有名称。

您也不需要使用反引号 (`) 来包围您使用的任何简单名称,并且您有一个不必要的 WITH line

在以下示例中,我将关系类型指定为MY_REL

LOAD CSV WITH HEADERS FROM "file:///opt/lampp/htdocs/cia/data/data1.csv" AS line
MERGE (Anum:ph  num:tofloat(line.A_Number), imei:toint(line.IMEI_A), imsi:toint(line.IMSI_A))
MERGE (Bnum:ph  num:tofloat(line.B_Number), imei:toint(line.IMEI_B), imsi:toint(line.IMSI_B))
CREATE (Anum)-[:MY_REL  callType:line.Call_Type ]->(Bnum)

【讨论】:

我在哪里可以获得 keylines.js 文件..??如果你已经将它发送到 suriyakumar2211@gmail.com...请它非常重要 您只能使用硬编码类型创建关系——该类型不能来自变量。你可以从这里下载keylines:cambridge-intelligence.com/keylines/neo4j 这个问题的答案可能有助于解决硬编码的关系类型问题:***.com/questions/36068270/…

以上是关于在将节点从 csv 创建到 neo4j 时创建关系的主要内容,如果未能解决你的问题,请参考以下文章

根据节点的 id 将节点从 CSV 加载到 Neo4j 中?

在neo4j中创建一对多关系

通过Py2neo在Neo4j中建立关系非常缓慢

使用Cypher创建与现有节点的多个关系

Neo4J与NeoModel:如何加速图形创建?

如何在Neo4j中创建节点时跳过重复节点