From 903c6e405f35bc6f16346fbdad844052a82f2adb Mon Sep 17 00:00:00 2001 From: zach-blumenfeld Date: Tue, 28 May 2024 19:39:14 -0400 Subject: [PATCH] Adding Sub-Query to Speed up Relationship Loading --- Lab 3 - Moving Data/README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Lab 3 - Moving Data/README.md b/Lab 3 - Moving Data/README.md index 0646f6b..6d4ae18 100644 --- a/Lab 3 - Moving Data/README.md +++ b/Lab 3 - Moving Data/README.md @@ -118,10 +118,13 @@ Well, this is cool. We've got all our nodes loaded in. Now we need to tie them So, let's add the relationships. LOAD CSV WITH HEADERS FROM 'https://storage.googleapis.com/neo4j-datasets/hands-on-lab/form13-2023.csv' AS row - MATCH (m:Manager {managerName:row.managerName}) - MATCH (c:Company {cusip:row.cusip}) - MERGE (m)-[r:OWNS {reportCalendarOrQuarter:date(row.reportCalendarOrQuarter)}]->(c) - SET r.value = toFloat(row.value), r.shares = toInteger(row.shares); + CALL { + WITH row + MATCH (m:Manager {managerName:row.managerName}) + MATCH (c:Company {cusip:row.cusip}) + MERGE (m)-[r:OWNS {reportCalendarOrQuarter:date(row.reportCalendarOrQuarter)}]->(c) + SET r.value = toFloat(row.value), r.shares = toInteger(row.shares) + } IN TRANSACTIONS OF 10000 ROWS; This will run for about two minutes. When complete, you should see this: