exercices

This commit is contained in:
2025-10-25 09:37:31 +02:00
parent 17bcfe978f
commit e6c92f1ce9
2 changed files with 16 additions and 4 deletions

View File

@@ -2,9 +2,9 @@
Restaurer la base de données postgreSQL. Restaurer la base de données postgreSQL.
1. Trouver le chemins le plus rapide à l'aide de l'algorithme de Dijkstra entre le casino et la falaise 1. Trouver le chemins le plus rapide à l'aide de l'algorithme de **Dijkstra** entre le casino et la falaise.
Attention les fonctions sont installées dans un schéma séparées nommé `postgis`. Pour appeler une fonction il faut utiliser le prefixe posgis.ST_Area par exemple. Attention les fonctions sont installées dans un schéma séparées nommé `postgis`. Pour appeler une fonction il faut utiliser le prefixe *posgis.ST_Area* avec les fonctions ou la commande *set SEARCH_PATH to public,postgis* avant les requêtes.
Les tables à prendre en compte sont Les tables à prendre en compte sont
- point - point

View File

@@ -2,13 +2,15 @@
docker compose up -d docker compose up -d
``` ```
http://localhost:7474 Rendez vous ensuite à l'adresse : http://localhost:7474
## Réseau routier ## Réseau routier
### Charger les données ### Charger les données
Les points
```cypher ```cypher
LOAD CSV WITH HEADERS LOAD CSV WITH HEADERS
FROM 'file:///points.csv' AS row FROM 'file:///points.csv' AS row
@@ -21,6 +23,8 @@ SET p.nom = row.nom,
}); });
``` ```
Les routes entre les points
``` ```
LOAD CSV WITH HEADERS FROM 'file:///routes.csv' AS row LOAD CSV WITH HEADERS FROM 'file:///routes.csv' AS row
WITH row WITH row
@@ -31,7 +35,8 @@ MERGE (a)-[r:ROUTE {route_id: toInteger(row.route_id)}]->(b)
SET r.tag = row.tag, r.cout = toFloat(row.cout); SET r.tag = row.tag, r.cout = toFloat(row.cout);
``` ```
-- routes inverses si cout_inverse != -1 les routes inverses si cout_inverse est différent de -1
``` ```
LOAD CSV WITH HEADERS FROM 'file:///routes.csv' AS row LOAD CSV WITH HEADERS FROM 'file:///routes.csv' AS row
WITH row WITH row
@@ -42,6 +47,13 @@ MATCH (b:Point {id: toInteger(row.target)})
MERGE (b)-[r:ROUTE {route_id: toInteger(row.route_id) * 1000}]->(a) MERGE (b)-[r:ROUTE {route_id: toInteger(row.route_id) * 1000}]->(a)
SET r.tag = row.tag, r.cout = toFloat(row.cout_inverse); SET r.tag = row.tag, r.cout = toFloat(row.cout_inverse);
``` ```
Supprimer les points et les routes.
```sql
MATCH (p:Point) DETACH DELETE p;
```
### Questions ### Questions
1. Quelle est la distance entre le casino et la falaise 1. Quelle est la distance entre le casino et la falaise