Hi, I've been looking around the BGL for some time now, but I still can't decide which graph I should use. Here are my limitations : - Very large graph ( > 40 million vertices) - About 4 to 8 edge per vertex (Sparse) I want to associate to each edge a property P such that : edge (A,B) returns P edge (B,A) returns -P (Directed) BUT I do not want to duplicate the storage of P. If edge (A,B) exists then (B,A) also exists. (Bidirectional) I also want to be able to access all edges connected to vertex A as quickly as possible (so I guess using in_edges and out_edges in a directed adjacency list will be too slow). I think the compressed_sparse_row_graph might be the way to go by storing all duplicate edges (the only implementation for the moment is directedS), but I need a way to not duplicate the properties associated with each edge. All advice will be greatly appreciated !! Thanks Jacques --------------------------- This email contains information that is private and confidential and is intended only for the addressee. If you are not the intended recipient please delete it and notify us immediately by e-mailing the sender. Note: All email sent to or from this address may be accessed by someone other than the recipient, for system management and security reasons. Aircraft Research Association Ltd. Registered in England, Registration No 503668 Registered Office: Manton Lane, Bedford MK41 7PF England VAT No GB 196351245