docker build -t mon-app . http://localhost:3000 ```cypher LOAD CSV FROM 'file:///artists.csv' AS row MERGE (a:Artist { name: row[1], year: toInteger(row[2]) }) RETURN a.name, a.year ``` ```cypher LOAD CSV WITH HEADERS FROM 'file:///individus.csv' AS row FIELDTERMINATOR ';' MERGE (i:Individu { id: toInteger(row['id']) }) SET i.prenom = row['prenom'], i.age = toInteger(row['age']), i.sexe = row['sexe'], i.etudes = toInteger(row['etudes']), i.richesse = toInteger(row['richesse']), i.lecture = toFloat(row['lecture']), i.musique = toFloat(row['musique']), i.sport = toFloat(row['sport']); ``` ```cypher MATCH (i:Individu) RETURN i LIMIT 25; ``` ```cypher MATCH (i:Individu {id: 58 }) RETURN i; ``` ```cypher LOAD CSV WITH HEADERS FROM 'file:///edges.csv' AS row FIELDTERMINATOR ';' MATCH (a:Individu {id: toInteger(row.source)}) MATCH (b:Individu {id: toInteger(row.target)}) MERGE (a)-[r:AMI]->(b) MERGE (b)-[r2:AMI]->(a); ``` ```cypher MATCH (i:Individu) DETACH DELETE i; ``` MATCH path = (a:Individu {id:24})-[:AMI*1..3]->(b:Individu) RETURN path; MATCH (a:Individu {id: 22}), (b:Individu {id: 100}), path = shortestPath((a)-[:AMI*..15]-(b)) RETURN path; MATCH (a:Point {nom:'Boulangerie'}), (b:Point {nom:'Salle des fêtes'}) RETURN point.distance(a.location, b.location) LOAD CSV WITH HEADERS FROM 'file:///routes.csv' AS row WITH row MATCH (a:Lieu {id: toInteger(row.source)}) WITH a, row MATCH (b:Lieu {id: toInteger(row.target)}) MERGE (a)-[r:ROUTE {route_id: toInteger(row.route_id)}]->(b) SET r.tag = row.tag, r.cout = toFloat(row.cout); -- routes inverses si cout_inverse != -1 LOAD CSV WITH HEADERS FROM 'file:///routes.csv' AS row WITH row WHERE toFloat(row.cout_inverse) <> -1 MATCH (a:Lieu {id: toInteger(row.source)}) WITH a, row MATCH (b:Lieu {id: toInteger(row.target)}) MERGE (b)-[r:ROUTE {route_id: toInteger(row.route_id) * 1000}]->(a) SET r.tag = row.tag, r.cout = toFloat(row.cout_inverse); ### Réseau routier ```cypher LOAD CSV WITH HEADERS FROM 'file:///points.csv' AS row MERGE (p:Point { id: toInteger(row.id) }) SET p.nom = row.nom, p.altitude = toInteger(row.altitude), p.location = point({ longitude: toFloat(row.longitude), latitude: toFloat(row.latitude) }); ``` ### Réseau d'amis ```cypher LOAD CSV WITH HEADERS FROM 'file:///individus.csv' AS row MERGE (i:Individu { id: toInteger(row.id) }) SET i.prenom = row.prenom, i.age = toInteger(row.age), i.sexe = row.sexe, i.etudes = toInteger(row.etudes), i.richesse = toInteger(row.richesse), i.lecture = toFloat(row.lecture), i.musique = toFloat(row.musique), i.sport = toFloat(row.sport); ``` ```cypher CREATE CONSTRAINT individu_id IF NOT EXISTS FOR (i:Individu) REQUIRE i.id IS UNIQUE; ```