For graph computations (e.g. route calculation or reachability analysis with software like Network Analyst), we can prepare routable shape files. They differ from normal OSM extracts in that every road geometry is split at every intersection, yielding a shape file where every graph edge is a separate geometry. The preprocessing step is different depending on whether a routing graph is created for motorcars, cyclists, or pedestrians.
Depending on the client's specific requirements we can add columns representing the estimated time enroute, estimated speed, length of a segment, or the coordinates or IDs of start and end nodes. We have even created routing shapefiles for railroad tracks and waterways.