[英]Neo4j relationship creation
Neo4J 2.0.3社区版Windows Server 2008 R2 ENT 64位
嗨,我是Neo4j的新手,一直在尝试加载一些数据和关系,但遇到了麻烦。 我已经使用load CSV命令加载了680,000个节点,效果很好。
使用csvLine创建(p:AmRentLine {Rentid:csvLine.Rentid,Itemid:csvLine.Itemid,名称: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
然后我试图建立关系
匹配(rl:AmRentLine),(it:Itemtab)其中rl.Itemid = it.Itemid合并(it)-[:IsOnContract]->(rl)
它运行了几个小时,并最终完成,在Neo4j浏览器中,出现了一个IsOnContract关系,但是当我尝试查询这些关系时
MATCH (a)-[:`IsOnContract`]->(b) RETURN a,b LIMIT 25
(Linkurious说有0个关系BTW)
我得到零行-即关系不存在。
我在这里做错什么了吗?
我也尝试在导入AmRentLine期间创建关系,但效果相同。
问候科林
科林
我认为您遇到了记忆问题。 和交叉产品。
因此,您也许可以一次在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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.