Neo4J - 创建大量关系(360 万)
Neo4J - creating large amount of relationships (3.6million)
我是 Neo4j 的新手,尝试在大约 250 万个节点之间创建大量关系 (~350 万) 时遇到困难。我正在尝试 运行 使用本地主机上 Neo4j 的基于 Web 的界面进行下面的查询。查询 运行s,但大约 5 分钟后我在浏览器上收到一条消息说 "Disconnected",其他时候我收到一条消息抱怨 java 堆。我不确定我的查询是否不适合我想做的事情,或者只是效率低下,或者我对数据库的要求太多了?谁能建议我如何创建节点之间的关系?
节点结构非常基本:客户:CSN、位置、性别
我用于关系的文件也很简单; 关系:SourceCSN、DestCSN
using periodic commit 100
load csv with headers from "file:///c:/datafiles/InterCustomerRelationships.csv" as csvLine
MATCH (from:Customer {CSN: csvLine .SourceCSN}), (to:Customer {CSN: csvLine.DestCSN})
CREATE (from)-[:PAID]->(to)
我在 windows 7 上使用 Neo4J 2.1.1,内存为 8GB。
在此先感谢您的任何帮助/建议 - 我们将不胜感激。
首先,确保您在客户标签的 属性 CSN 上有索引。这可以是一个简单的索引,或者我猜你的情况是一个唯一的约束。
其次,我建议运行先导入一小段10行,然后分析一下执行计划是什么样的。为此,您可以 运行 相同的导入和限制集(首先备份您的数据库),这应该在 neo4j-shell 中完成:
PROFILE
load csv with headers from "file:///c:/datafiles/InterCustomerRelationships.csv" as csvLine
WITH csvLine
LIMIT 10
MATCH (from:Customer {CSN: csvLine .SourceCSN}), (to:Customer {CSN: csvLine.DestCSN})
CREATE (from)-[:PAID]->(to)
我是 Neo4j 的新手,尝试在大约 250 万个节点之间创建大量关系 (~350 万) 时遇到困难。我正在尝试 运行 使用本地主机上 Neo4j 的基于 Web 的界面进行下面的查询。查询 运行s,但大约 5 分钟后我在浏览器上收到一条消息说 "Disconnected",其他时候我收到一条消息抱怨 java 堆。我不确定我的查询是否不适合我想做的事情,或者只是效率低下,或者我对数据库的要求太多了?谁能建议我如何创建节点之间的关系?
节点结构非常基本:客户:CSN、位置、性别
我用于关系的文件也很简单; 关系:SourceCSN、DestCSN
using periodic commit 100
load csv with headers from "file:///c:/datafiles/InterCustomerRelationships.csv" as csvLine
MATCH (from:Customer {CSN: csvLine .SourceCSN}), (to:Customer {CSN: csvLine.DestCSN})
CREATE (from)-[:PAID]->(to)
我在 windows 7 上使用 Neo4J 2.1.1,内存为 8GB。
在此先感谢您的任何帮助/建议 - 我们将不胜感激。
首先,确保您在客户标签的 属性 CSN 上有索引。这可以是一个简单的索引,或者我猜你的情况是一个唯一的约束。
其次,我建议运行先导入一小段10行,然后分析一下执行计划是什么样的。为此,您可以 运行 相同的导入和限制集(首先备份您的数据库),这应该在 neo4j-shell 中完成:
PROFILE
load csv with headers from "file:///c:/datafiles/InterCustomerRelationships.csv" as csvLine
WITH csvLine
LIMIT 10
MATCH (from:Customer {CSN: csvLine .SourceCSN}), (to:Customer {CSN: csvLine.DestCSN})
CREATE (from)-[:PAID]->(to)