Looking for a particular generalization of the concept of a mathematical graph I'm am trying to define a data structure to represent road networks.  The immediately obvious structure is that of a graph - a set of nodes and edges that connect pairs of nodes.  The nodes would represent things like intersections, and the edges would represent lanes.  

However, the basic concept of a graph is insufficient to describe what I want.  I also want to be able to describe how certain lanes are "reachable" or "adjacent" to other lanes.  (Imagine parallel lanes with no median between them.  You can just switch lanes.)  This seems to imply a need to have some sort of meta-edge that connects pairs of edges.  Is there any mathematical structure that sounds like this?  Is this reducible to the standard concept of a graph? Thanks.
You could make the lanes themselves nodes as well
It's not clear whether nodes for intersections are necessary.  

You need a data structure that can accomodate (state transitions resulting from) the operations continue and switch lanes.   The minimal set of states needed is: those pieces of road where, if you continue driving along them, the set of "switch" options is constant. This is the smallest set of states such that any switch operation is between different states. 

You could impose additional nodes thought of as STATIONARY states of motion or FIXED-LOCATION geographic data, to express starting points, destinations, intersections, stopovers or geographic locations, but only the lanes on which a traveller moves are logically necessary.  At a road intersection, one can switch from lane A on one road to lane B on another road, which is expressible as a single state transition, without going through an "inside the intersection" state.  Having an intersection state may be troublesome, as passing through the intersection within different lane-to-lane transition paths will equate situations inside the intersection that are logically different (they support different switch options).