- Join over
**1.5M+ people** - Join over
**100K+ communities** - Free
**without limits** - Create
**your own community**

[slack] <jpfairbanks> There is no standardized graph+metadata format that I would trust for archival data storage at this point.

@glaroc Regarding the metadata storage, I am developing a package for data storage in graphs ( https://github.com/SebastianM-C/StorageGraphs.jl ). For storing on disk I use serialization, but this is not something well suited for archival purposes, since it's dependent on the julia version. For small graphs BSON.jl may be an option, but it is limited to files up to ~4GB (I think that you may be able to fit a few million vertices&edges, but it gets really slow after a few hundred thousands).

Hi everyone!

I am using LightGraphs for a project. I have a distance matrix and I want to find the minimum spanning tree. I am running the following code:

using LightGraphs

T = CSV.File("samples/distance_matrix.csv")

df = DataFrame(T)

df = df[:,2:end] #because the first column has names (same as the top row)

m = Matrix(df)

sg = SimpleGraph(m)

mst = kruskal_mst(sg) ## or prim_mst(sg)

The MST that I get is incorrect. However, when I write my own kruskal functions, I get the correct the MST.

Can some tell me if I doing something wrong?

Thanks!

[slack] <oxinabox> @shashikdm has a PR open to support visualisation of LightGraph graphs in TensorBoard wth TensorBoardLogger.jl

PhilipVinc/TensorBoardLogger.jl#32

PhilipVinc/TensorBoardLogger.jl#32

[slack] <oxinabox> Someone who knows LightGraphs should check it out.

[slack] <simonschoelly> I have haven't looked at tensorboard in quite some while

[slack] <simonschoelly> Will tensorboard take care of creating a layout of the graph, or do you have to do that in TensorBoardLogger?

[slack] <oxinabox> OTOH I wouldn’t be surprised if actually that is because large tensorflow models are super line-like.

[slack] <oxinabox> And also hard to define

[slack] <shashikdm> tensorboard creates subgraphs based solely on their names. e.g. nodes with name

`"Dense/W"`

and `"Dense/b"`

will be plotted as a subgraph named `"Dense"`

containing `"W"`

and `"b"`

which can be collapsed/expanded. so large graphs can be named accordingly for better visualization.
[slack] <jpfairbanks> Graph layout and graph clustering are in this complexity class.

[slack] <jpfairbanks> Modularity is implemented as https://juliagraphs.github.io/LightGraphs.jl/latest/community.html#LightGraphs.modularity-Tuple{AbstractGraph,AbstractArray{#s67,1}%20where%20#s67%3C:Integer}

[slack] <jpfairbanks> modularity maximization is not in the docs, but would be a good PR.

Any idea for a graph generator that's likely to have multiple strongly connected components? I'm playing around with the different graph generators but so far I haven't managed to randomly get one with multiple clusters (that are not just some single lost vertices connected to nothing)

[slack] <simonschoelly> then choose an ordering on these connected components

[slack] <simonschoelly> and then add random edges between the components, so that this ordering is respected

[slack] <sbromberger> perhaps not, but it really doesn't seem to be related to communities.

[slack] <sbromberger> or maybe

`Degeneracy`

[slack] <sbromberger> I'll keep it where it is for now

I would like to merge two graphs. Consider the following scenario. I have N nodes 1:N, and I create a

`G1=SimpleGraph(100,10)`

with nodes 1:100, and a `G2=SimpleGraph(200,10)`

with nodes 50:200. I expect some edges to overlap. Obviously, this approach does not work because for G1, the nodes are numbered 1 through 100, while in G2, the nodes are numbered 1 through 150. MetaGraphs seems to be the right way to accomplish my task. Is there a better and perhaps more efficient way? Thanks.
The iterator returned may depend on the graph type

Might be good to throw an exception if the iterator is modified while iterating? Like a ConcurrentModificationException in Java