在将节点从 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 时创建关系的主要内容,如果未能解决你的问题,请参考以下文章