let generate_dot_file () =
let l = CoercDb.to_list () in
let preamble = "
- digraph pippo {
+ digraph g {
node [fontsize=9, width=.4, height=.4];
edge [fontsize=10];
\n"
in
let conclusion = " } \n" in
+ let node_dsc carr =
+ match CoercDb.uri_of_carr carr with
+ | None -> ""
+ | Some uri ->
+ sprintf "%s [href=\"%s\"]"
+ (CoercDb.name_of_carr carr) (UriManager.string_of_uri uri) in
let data = List.fold_left
(fun acc (src,tgt,cl) ->
List.fold_left
(fun acc c ->
- acc ^ CoercDb.name_of_carr src ^ " -> " ^
- CoercDb.name_of_carr tgt ^ "[label=\"" ^ UriManager.name_of_uri c ^
- "\"];\n")
+ let src_name = CoercDb.name_of_carr src in
+ let tgt_name = CoercDb.name_of_carr tgt in
+ acc ^ src_name ^ " -> "
+ ^ tgt_name ^ " [label=\"" ^ UriManager.name_of_uri c
+ ^ "\",href=\"" ^ UriManager.string_of_uri c
+ ^ "\"];\n"
+ ^ node_dsc src ^ node_dsc tgt)
acc cl)
"" l
in