下面是我通过读取csv文件来创建neo4j关系的代码 .
import csv
from py2neo import neo4j, cypher, authenticate, Graph
from py2neo import node, rel
import py2neo
authenticate("localhost:7474", "neo4j", "bhatt1234")
graph_db = neo4j.Graph("http://localhost:7474/db/data/")
ifile = open('agent_send.csv',"rb")
reader = csv.reader(ifile)
rownum = 0
for row in reader:
colnum = 0
for col in row:
rel = graph_db.merge({))
rownum += 1
ifile.close()
所以,
我希望 Build 一个进程,从csv到已经存在的neo 4j进行日常导入 . 为此,我需要使用merge()语句 . 但我正在努力在py2neo中使用merge . 我需要在我的neo4j数据库中使用我的csv和已存在的节点和关系之间的合并 .
:START_ID(Agent),:END_ID(Agent),TXN_KEY,Amount,SendTime,PayTime,:TYPE
AEX053163,AEX010922,5000000000107593411,20.0,1361439,1362963.0,Agent_Send
AKJ063072,AS1034942,5000000000108495674,220.0,1361434,1362369.0,Agent_Send
ADT326742,AMX002998,5000000000106488543,1000.0,1361435,1363053.0,Agent_Send
ARA031639,AED100363,5000000000106029876,1669.0,1361424,1362506.0,Agent_Send
AKC403616,ADJ122111,5000000000107872144,180.0,1361415,1362680.0,Agent_Send
以上是具有关系的CSV . 那么,我如何将此关系置于g.merge()下?
2 回答
create()
函数返回所有创建的实体的元组,这些实体具有参数个数的长度 .您正尝试将元组(在您的情况下长度为5)解压缩为三个变量:
Agent,Agent,rel
.尝试将结果存储在单个变量中:
所以,我能够通过使用LOAD CSV来实现结果 . 对日常数据库执行日常ETL是一个非常方便的实用程序 .