In the Boost Graph Library, I need to map between two separate graphs where the IDs for the nodes are identical. I am unsure how to do this. It seems the property maps only allow mapping from vertex and edge descriptors to properties. How do we invert this? That is, how can we map from properties to vertex descriptors? If I have a vertex descriptor in one graph, I can map it to the vertex name-property, but then I want to map the vertex-name property to a vertex descriptor for the other graph. Please help.

Your best bet is to simply declare an map or unordered_map and pass that around with your graph. You could abstract that as a property map if you wanted to make it gel with the BGL abstractions.
 
There are two undocumented features in the BGL for doing similar things, but I'd say they aren't fully supported. The name_graph extension of the adjacency_list can be used to internalize the mapping of names to vertices, and the labeled_graph adaptor essentially wraps a graph and a map as described above. Like I said, though... not fully supported.

Andrew Sutton
andrew.n.sutton@gmail.com