Neo4J 2.0.3社区版 Windows Server 2008 R2 ENT 64位
您好, 我是Neo4j的新手并且一直试图加载一些数据和关系,但是遇到了障碍。 我使用加载CSV命令加载了680,000个节点,效果很好。
使用带有标题的PERICODIC COMMIT LOAD CSV “file:/ c:/Intort/CSVsForImport/AMRentLine.csv”AS csvLine CREATE (p:AmRentLine {Rentid:csvLine.Rentid,Itemid:csvLine.Itemid,Name: csvLine.Name,Qty:tofloat(csvLine.Qty)})
Sample Data:
Rentid Itemid Name Qty
0123-014160 18/0165-h TRENCH RAMMER 52
0123-014165 18/0168-h TRENCH RAMMER 65
4290-014167 18/0165-h TRENCH RAMMER 43
4290-014188 10/0385-h PERCUSSION DRILL 5
4290-014190 10/0385-h PERCUSSION DRILL 28
4290-014197 11/0155-h HEAVY DUTY DRILL 4
然后我加载了Itemtab
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:/c:/Import/CSVsForImport/Itemtab.csv" AS csvLine
create (i:Itemtab {Itemid: csvLine.Itemid})
示例项目数据
Itemid
18/0165-h
18/0168-h
10/0385-h
11/0155-h
15/0230-h
11/0120-h
11/0170-h
26/0090-h
15/0225-h
71/6250-h
01/0110-h
18/0300-h
9940344-h
26/0120-h
然后我尝试创建关系
match(rl:AmRentLine),(it:Itemtab)其中rl.Itemid = it.Itemid merge (它) - [:IsOnContract] - GT;(RL)
这运行了几个小时并最终完成,在Neo4j浏览器中出现了一个关系IsOnContract,但是当我尝试用
查询这些关系时MATCH (a)-[:`IsOnContract`]->(b) RETURN a,b LIMIT 25
(Linkurious说BTW有0关系)
我得到零行 - 即关系不存在。
我在这里做错了吗?
我还尝试在导入AmRentLine期间创建关系,但效果相同。
问候 科林
答案 0 :(得分:0)
科林,
我认为你遇到了内存问题。 和跨产品。
那么你可以在neo4j-wrapper.conf中提升你的记忆力吗?
创建索引:AmRentLine(Itemid); 创建索引:Itemtab(Itemid);
否则尝试执行以下操作:
match (rl:AmRentLine)
MATCH (it:Itemtab {ItemId:rl.ItemId})
merge (it)-[:IsOnContract]->(rl)
remove rl.ItemId
remove it.ItemId
或者你可以将你的工作分成更小的部分
match (rl:AmRentLine),(it:Itemtab)
with rl,it
skip 200000 limit 100000
where rl.Itemid = it.Itemid
merge (it)-[:IsOnContract]->(rl)