let string_of_edge edge =
let label =
match G.E.label edge with
|PkgE.DirDepends -> "Direct"
|PkgE.OrDepends -> "Disjunctive"
|PkgE.Conflict -> "Conflict"
in
let src = G.E.src edge in
let dst = G.E.dst edge in
Printf.sprintf "%s %s %s"
(string_of_vertex src)
label
(string_of_vertex dst)