csv - 无法将小图加载到 neo4j
问题描述
我正在尝试使用 Neo4j Desktop (3.4.0) 浏览器将 0.3GB 的图表加载到 neo4j。我已将堆设置为 4 GB,将页面缓存设置为 16 GB。但是在浏览器之间断开连接,我无法加载图表。我正在使用以下命令加载图表:
LOAD CSV WITH HEADERS FROM "file:\\graphUnioned.csv" AS csvLine
MERGE (s:Node {value:csvLine.s})
MERGE (o:Node {value:csvLine.o})
MERGE (s)-[:REL]->(o)
RETURN *;
有什么方法可以加速图形的加载
我在 Windows 服务器上运行 neo4j
解决方案
我认为问题不在于加载图表,而在于您返回的内容。
您正在返回整个图形,浏览器将尝试绘制/可视化它,在浏览器上绘制这些许多对象可能会使其无响应。
假设问题出在数据加载上,我建议执行以下步骤:
- 在节点上的键上添加索引(此处为“值”):在运行第二个查询之前运行它。
CREATE CONSTRAINT ON (n:Node) ASSERT n.value IS UNIQUE
- 删除 RETURN 子句。
- 使用定期提交。
USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM "file:\\graphUnioned.csv" AS csvLine MERGE (s:Node {value:csvLine.s}) MERGE (o:Node {value:csvLine.o}) MERGE (s)-[:REL]->(o);
- (可选)在每个查询中仅使用一个合并(将查询分隔为每个查询一个合并)。
推荐阅读
- javascript - 局部变量与数据。性能损失巨大
- python - 如何在 Chromedriver 79 中将“useAutomationExtension”设置为 false
- php - 通过直接 URL 访问在 laravel 的会话中保持语言环境
- xaml - Xamarin Xaml 将超过 2 个属性绑定到 TextCell
- python - 如何在使用地图功能时传递 kwargs?
- python - 间歇性成功单击带有硒的按钮
- javascript - 按一个键对数组进行排序但按另一个键列出数组的有效方法?
- facebook - 如何使用 Facebook API 仅在我的页面上发帖?
- multithreading - 如何在两个线程之间共享或避免共享 websocket 资源?
- audio - 需要的建议:10m 距离的低电平信号