Files
graph-mesamis/exercice2.md
2025-10-23 12:27:52 +02:00

2.2 KiB

docker compose up -d

http://localhost:7474

Réseau routier

Charger les données

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)
    });
LOAD CSV WITH HEADERS FROM 'file:///routes.csv' AS row
WITH row
MATCH (a:Point {id: toInteger(row.source)})
WITH a, row
MATCH (b:Point {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:Point {id: toInteger(row.source)})
WITH a, row
MATCH (b:Point {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);

Questions

  1. Quelle est la distance entre le casino et la falaise

  2. Quel est le plus court chemin entre le casino et la falaise

Réseau d'amis

Charger les données

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);
CREATE CONSTRAINT individu_id IF NOT EXISTS
  FOR (i:Individu)
  REQUIRE i.id IS UNIQUE;
LOAD CSV WITH HEADERS
FROM 'file:///edges.csv' AS row
MATCH (a:Individu {id: toInteger(row.source)})
MATCH (b:Individu {id: toInteger(row.target)})
MERGE (a)-[r:AMI]->(b)
MERGE (b)-[r2:AMI]->(a);

Questions

  1. Combien d'amis a l'id 58 ?

  2. Quels sont les amis de l'id 58 ?

  3. Quels sont les amis des amis de l'id 58

  4. Quelle est la chaine de relation entre l'id 58 et 40 ?

  5. Quels sont les personnes qui ont un niveau d'études à 3 et un niveau de richesse à 0