【发布时间】:2016-03-11 11:11:22
【问题描述】:
我正在测试 Neo4j 2.3.2,但在导入文件时遇到了问题。
首先,我提供有关数据的信息。我有人在公司工作,每个人至少有一个职位(少数人有 2 个职位)。在我们的逻辑中,职位是分类的,每个职位都有一个代码,但相同的代码可能属于不同的类别(称为环境)。
目前,我在数据库中有 550,000 人、15 个环境和 30 个职位。
我有一个 CSV 文件,其中链接了每个人的职位(在其环境中)。该文件与数据库中的人具有相同数量的记录。因此,我在 Web GUI 中启动了这个 Cypher 查询:
using periodic commit
load csv with headers from "file:///C:\\...\\individu.csv" as row
match (c:Contact {individuId: row.NUM_INDIVIDU}), (f:Fonction {rank: row.NUM_FONC})-[:DEPEND]->(e:Environnement {rank: row.NUM_ENV})
merge (c)-[:POSTE]->(f);
我得到这个错误:
超出 GC 开销限制
我的数据大小不是很重要,所以我不明白为什么我的导入失败。
使用这种关系可能是一个糟糕的建模想法吗?我应该将这些数据保存为属性吗?大约 500 或 60 万个 POSTE 关系是不是太多了?
编辑 我想我找到了问题所在。我有 300,000 人拥有相同的职位。一个节点的 300,000 个关系是否太多了?
【问题讨论】: