I’ve just started to explore graph theory in Julia. And there’s a bewildering array of packages. Some are unmaintained, such LightGraphs.jl
and the old Graphs.jl
. To confuse matters, LightGraphs.jl
seems to be been forked into a new package which is functionally equivalent, but confusingly called Graphs.jl
. Then there’s Networks.jl
, which seems to be an attempt to port the Python networkx
package into Julia, but which also seems to be unmaintained. And lots of others.
I simply want to be able to create a graph whose nodes are strings (or labelled by strings), and then perform some elementary analysis on it: diameter, eccentricities and so on.
The Networks.jl package has the nice syntax for adding labelled vertices:
addnode!(g, "test")
but I can’t see this syntax replicated in the (new) Graphs.jl package. The documentation claims that a node can be any Julia object, but it doesn’t give examples of how to create such general types of node.
So in short, I’m after a currently maintained package for graph theory which allows me to create named vertices (and then undirected, unweighted edges between them), and then also to operate on the graph.
What’s my best option here? Many thanks!