c # – Design Structure of a Road Network

I wonder if anyone has given advice on how to set up a design structure for a road network.

First of all, I have a basic configuration of

Node ¬
Connections[] // for my roads, I limit it to 8 connections at intersections
Connexion¬
NodeA
NodeB

It is therefore a graph of basic waypoints with straight lines and relatively simple to understand.

But the roads are more complicated than that, because they have multiple lanes and directions, some lanes only turn right / left at intersections, and so on.

Suddenly, it becomes quite difficult to think of an elegant design that makes sense.