Can't LOAD CSV, error about undefined variable or whitespace

Hey @BuilderGuy1,

You need to make some small changes (highlighted in bold)

LOAD CSV WITH HEADERS FROM 'file:///3511.csv' AS line
CREATE (a:Person {Name: line.Name, T_ID: 'T025'} )-[r:Connected_To]->(b:Course {Name: '3511'})
CREATE (t:Time {DateTime: line.Time})<-[m:Moodle_HIT]-(b)
CREATE (ip:IP_ADDR {IP: line.IP_ADDR})<-[c:Connect_Via]-(t)
CREATE (e:Event {Type: line.Event})<-[p:Performed]-(t)

Note: When you are loading a CSV file, each "line" in the file becomes the variable line.
So when you want to reference any column header you are now using line.. Oh, and the column headers are case sensitive.

When I load a CSV file, I load the nodes first, and then I go back and load the relationships. It makes it easier to manage for me, but your mileage may vary. You may also consider using MERGE instead of CREATE if there are updates that you are making instead of creating a node each time.
It would look something like this:

// CREATE or UPDATE NODES
// Upsert Person Nodes
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM 'file///3511.csv' AS line
WHERE line.Name IS NOT NULL
MERGE (p:Person {Name: line.Name})
ON CREATE SET
T_ID = 'T025'
;
// Upsert Time Nodes
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM 'file///3511.csv' AS line
WHERE line.Time IS NOT NULL
MERGE (t:Time {DateTime: line.Time})
;
// Upsert IP Address nodes
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM 'file///3511.csv' AS line
WHERE line.IP_ADDR IS NOT NULL
MERGE (ip:IP_ADDR {IP: line.IP_ADDR})
;
// Upsert Event nodes
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM 'file///3511.csv' AS line
WHERE line.Event IS NOT NULL
MERGE (e:Event {Type: line.Event})
;
// CREATE or UPDATE Relationships
// Upsert Person Nodes
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM 'file///3511.csv' AS line
WHERE line.Name IS NOT NULL
AND line.Time IS NOT NULL
AND line.IP_ADDR IS NOT NULL
AND line.Event IS NOT NULL
MATCH (p:Person {Name: line.Name})
MATCH (c:Course {b:Course {Name: '3511'})
MATCH (t:Time {DateTime: line.Time})
MATCH (ip:IP_ADDR {IP: line.IP_ADDR})
MATCH (e:Event {Type: line.Event})
WITH p, c, t, ip, e
MERGE (p)-[:Connected_To]->(c)
MERGE (c)-[:Moodle_HIT]->(t)
MERGE (ip)-[:Connect_Via]->(t)
MERGE (e)-[:Performed]->(t)
;

Finally, do you have any constraints defined for your nodes to ensure uniqueness, as well as creating indices. It will make the loading much faster.

Cheers and welcome,

yyyguy