UNWIND $rows AS row WITH row MERGE (sa:SocialAccount:Chartmetric:PublicSocialAccount {url: row.URL}) ON CREATE SET sa.id = randomUUID(), sa.platform = $platform_name, sa.createdAt = datetime(), sa.createdBy = $created_by ON MATCH SET sa.platform = $platform_name, sa.lastModifiedAt = datetime() MERGE (p:Participant:Chartmetric:PublicParticipant {chartmetricId: toInteger(row.CHARTMETRIC_ID)}) ON CREATE SET p.id = randomUUID(), p.createdAt = datetime(), p.createdBy = $created_by MERGE (p)-[pToSa:HAS_SOCIAL_ACCOUNT]->(sa) ON CREATE SET pToSa.createdAt = datetime(), pToSa.createdBy = $created_by ON MATCH SET pToSa.lastModifiedAt = datetime(), pToSa.lastModifiedBy = $created_by WITH row MATCH (p:Participant:Chartmetric:PublicParticipant {chartmetricId: toInteger(row.CHARTMETRIC_ID)})-[:HAS_SOCIAL_ACCOUNT]->(psa:PendingSocialAccount{url: row.URL}) DETACH DELETE psa