use gexf::{EdgeType, GraphBuilder, Node};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let gexf = GraphBuilder::new(EdgeType::Undirected)
.meta("your-app", "Demo graph")
.add_node(Node::new("A").with_label("Alpha").with_color(10, 120, 240))?
.add_node(
Node::new("B")
.with_label("Beta")
.with_position(10.0, -3.0, 0.0),
)?
.add_node(Node::new("C").with_label("Gamma").with_size(3.0))?
.add_edge("A", "B")?
.add_edge("B", "C")?
.add_edge("C", "A")?
.try_build()?;
let xml = gexf.to_string()?;
println!("{}", xml);
Ok(())
}