I am importing a CSV file with empty spaces. My aim is to conditionally add a value as a property to a node. The condition is that the cell in the CSV is not empty. I want to keep the CSV file as it is, so I am looking here for solutions that apply to the code.
I tried the following code with the FOREACH clause. My aim is to merge the corop20_loc3 value in the CSV (in this case a .txt, see attachment) with the o:Onderneming node, but only if that cell is not empty. If it is empty, nothing needs to be done.
//Load dn-datamodel-test1.7
LOAD CSV WITH HEADERS FROM "file:///dn-datamodel-test5.txt" AS row FIELDTERMINATOR ";"
MERGE (o:Onderneming {Onderneming:row.ondernemingKort,
FOREACH (x IN CASE WHEN row.corop20_loc3 IS NULL THEN [] ELSE [1] END |
MERGE (o:Onderneming {COROPgebied:row.corop20_loc3}))})
FOREACH (x IN CASE WHEN row.sw1 IS NULL THEN [] ELSE [1] END |
MERGE (k1:Kernwaarde1 {Kernwaarde:row.sw1})
MERGE (o)-[:BEDRIJFT]->(k1))
FOREACH (x IN CASE WHEN row.sw2 IS NULL THEN [] ELSE [1] END |
MERGE (k2:Kernwaarde2 {Kernwaarde:row.sw2})
MERGE (o)-[:BEDRIJFT]->(k2))
FOREACH (x IN CASE WHEN row.sw3 IS NULL THEN [] ELSE [1] END |
MERGE (k3:Kernwaarde3 {Kernwaarde:row.sw3})
MERGE (o)-[:BEDRIJFT]->(k3))
FOREACH (x IN CASE WHEN row.sw4 IS NULL THEN [] ELSE [1] END |
MERGE (k4:Kernwaarde4 {Kernwaarde:row.sw4})
MERGE (o)-[:BEDRIJFT]->(k4))
FOREACH (x IN CASE WHEN row.sw5 IS NULL THEN [] ELSE [1] END |
MERGE (k5:Kernwaarde5 {Kernwaarde:row.sw5})
MERGE (o)-[:BEDRIJFT]->(k5))
FOREACH (x IN CASE WHEN row.sw6 IS NULL THEN [] ELSE [1] END |
MERGE (k6:Kernwaarde6 {Kernwaarde:row.sw6})
MERGE (o)-[:BEDRIJFT]->(k6))
FOREACH (x IN CASE WHEN row.sw7 IS NULL THEN [] ELSE [1] END |
MERGE (k7:Kernwaarde7 {Kernwaarde:row.sw7})
MERGE (o)-[:BEDRIJFT]->(k7))
FOREACH (x IN CASE WHEN row.sw8 IS NULL THEN [] ELSE [1] END |
MERGE (k8:Kernwaarde8 {Kernwaarde:row.sw8})
MERGE (o)-[:BEDRIJFT]->(k8))
FOREACH (x IN CASE WHEN row.sw9 IS NULL THEN [] ELSE [1] END |
MERGE (k9:Kernwaarde9 {Kernwaarde:row.sw9})
MERGE (o)-[:BEDRIJFT]->(k9))
FOREACH (x IN CASE WHEN row.sw10 IS NULL THEN [] ELSE [1] END |
MERGE (k10:Kernwaarde10 {Kernwaarde:row.sw10})
MERGE (o)-[:BEDRIJFT]->(k10))
FOREACH (x IN CASE WHEN row.sw11 IS NULL THEN [] ELSE [1] END |
MERGE (k11:Kernwaarde11 {Kernwaarde:row.sw11})
MERGE (o)-[:BEDRIJFT]->(k11))
FOREACH (x IN CASE WHEN row.sw12 IS NULL THEN [] ELSE [1] END |
MERGE (k12:Kernwaarde12 {Kernwaarde:row.sw12})
MERGE (o)-[:BEDRIJFT]->(k12))
FOREACH (x IN CASE WHEN row.sw13 IS NULL THEN [] ELSE [1] END |
MERGE (k13:Kernwaarde13 {Kernwaarde:row.sw13})
MERGE (o)-[:BEDRIJFT]->(k13))
FOREACH (x IN CASE WHEN row.sw14 IS NULL THEN [] ELSE [1] END |
MERGE (k14:Kernwaarde14 {Kernwaarde:row.sw14})
MERGE (o)-[:BEDRIJFT]->(k14))
FOREACH (x IN CASE WHEN row.sw15 IS NULL THEN [] ELSE [1] END |
MERGE (k15:Kernwaarde15 {Kernwaarde:row.sw15})
MERGE (o)-[:BEDRIJFT]->(k15))
FOREACH (x IN CASE WHEN row.loc1 IS NULL THEN [] ELSE [1] END |
MERGE (l1:Locatie1 {Locatie:row.loc1})
MERGE (o)-[:LOKATIE]->(l1))
FOREACH (x IN CASE WHEN row.loc2 IS NULL THEN [] ELSE [1] END |
MERGE (l2:Locatie2 {Locatie:row.loc2})
MERGE (o)-[:LOKATIE]->(l2))