// // // Sert à importer le fichiers data2.csv // CREATE CONSTRAINT ON (groupe:GroupeTraitement) ASSERT groupe.id IS UNIQUE; CREATE CONSTRAINT ON (etab:Etablissement) ASSERT etab.id IS UNIQUE; CREATE CONSTRAINT ON (dpt:Departement) ASSERT dpt.code IS UNIQUE; CREATE CONSTRAINT ON (an:Annee) ASSERT an.id IS UNIQUE; CREATE CONSTRAINT ON (ta:TrancheAge) ASSERT ta.lib IS UNIQUE; CREATE CONSTRAINT ON (srv:Service) ASSERT srv.lib IS UNIQUE; // EXPLAIN USING PERIODIC COMMIT 10000 LOAD CSV FROM 'file:///challenge_28/data2.csv' AS ligne FIELDTERMINATOR ';' WITH ligne SKIP 1 CALL apoc.create.uuid() YIELD uuid MERGE (etab:Etablissement {id: ligne[0]}) SET etab.raisonSociale = ligne[1] MERGE (srv:Service {lib: coalesce(ligne[3] ,'Service Inconnu')}) MERGE (etab)-[:POSSEDE]->(srv) MERGE (dpt:Departement {code: left(ligne[2],2)} ) MERGE (etab)-[:SITUE_DANS]->(dpt) CREATE (groupe:GroupeTraitement {id: uuid } ) SET groupe.nbSejoursALD = TOINT(ligne[5]) SET groupe.nbSejours = TOINT(ligne[6]) SET groupe.cible1 = TOFLOAT(ligne[8]) MERGE (an:Annee {id: TOINT(ligne[7])}) MERGE (groupe)-[:TRAITE_EN]->(an) MERGE (groupe)-[:TRAITE_DANS]->(etab) MERGE (ta:TrancheAge {lib: coalesce( ligne[4] , 'TA Inconnue') } ) MERGE (groupe)-[:APPARTIENT]->(ta) MERGE (groupe)-[:PROVIENT]->(dpt) MERGE (groupe)-[:TRAITE_DANS]->(srv) MERGE (groupe)-[:TRAITE_PAR]->(etab) ;