sig
type vertex = {
vertex_id : Utils.UTF8.t;
vertex_cluster : Utils.UTF8.t option;
vertex_label : Utils.UTF8.t option;
vertex_properties : (Utils.UTF8.t * Utils.UTF8.t) list;
}
and edge = {
edge_id : Utils.UTF8.t;
edge_directed : bool;
edge_vertices : (Utils.UTF8.t * Utils.UTF8.t) list;
edge_label : Utils.UTF8.t option;
edge_properties : (Utils.UTF8.t * Utils.UTF8.t) list;
}
and t = {
vertices : Graph.vertex list;
edges : Graph.edge list;
vertice_types : (Utils.UTF8.t * Utils.UTF8.t) list;
edge_types : (Utils.UTF8.t * Utils.UTF8.t) list;
}
type builder
val make : unit -> Graph.builder
val to_graph : Graph.builder -> Graph.t
val add_vertex :
?cluster:Utils.UTF8.t ->
?label:Utils.UTF8.t ->
?properties:(Utils.UTF8.t * Utils.UTF8.t) list ->
id:Utils.UTF8.t -> Graph.builder -> unit
val add_edge :
?directed:bool ->
?label:Utils.UTF8.t ->
?properties:(Utils.UTF8.t * Utils.UTF8.t) list ->
id:Utils.UTF8.t ->
vertices:(Utils.UTF8.t * Utils.UTF8.t) list -> Graph.builder -> unit
val add_vertice_type :
Utils.UTF8.t -> Utils.UTF8.t -> Graph.builder -> unit
val add_edge_type : Utils.UTF8.t -> Utils.UTF8.t -> Graph.builder -> unit
type format = Dot | GraphML | GEXF
val all_formats : Graph.format list
val string_of_format : Graph.format -> string
val dump : Graph.format -> Graph.t -> Utils.UTF8Buffer.t -> unit
end