CREATE CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE; UNWIND [{_id:2, properties:{name:"Identify waste"}}, {_id:23, properties:{name:"Remove waste"}}, {_id:40, properties:{name:"Prepare Waste extraction plan"}}, {_id:41, properties:{name:"Commission suppliers"}}] AS row CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Task; UNWIND [{start: {_id:40}, end: {_id:41}, properties:{}}, {start: {_id:2}, end: {_id:40}, properties:{}}, {start: {_id:41}, end: {_id:23}, properties:{}}] AS row MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id}) MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id}) CREATE (start)-[r:permits]->(end) SET r += row.properties; MATCH (n:`UNIQUE IMPORT LABEL`) WITH n LIMIT 20000 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`; DROP CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;