Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Which network formats should we create? #11

Open
xrotwang opened this issue Jan 23, 2019 · 8 comments
Open

Which network formats should we create? #11

xrotwang opened this issue Jan 23, 2019 · 8 comments

Comments

@xrotwang
Copy link
Contributor

Is GML all we need? Reading the networkx docs on GML it seems that GML isn't the best choice when it comes to portability. I'm also not sure I like the "7-bit ASCII + HTML entities"-approach.

@LinguList
Copy link

Yes, this is a bit ugly, all of it. The reason I used GML was that it's apparently easiest to be imported in networkx. But networkx has some other input formats as well, for graphs, like adjacency matrices, or even plain CSV could likewise be used with a small wrapper, to load a graph.

But GML has the advantage of allowing to specify node attributes.

If it's not too much work, one might think of using csvw, plus a small wrapper for reading the graph into both networkx and igraph?

@xrotwang
Copy link
Contributor Author

Yes, I tend to agree. I see the advantage of GML allowing adding arbitrary python objects as annotations - but that basically turns it into some sort of YAML for graphs, with all its portability issues.

@xrotwang
Copy link
Contributor Author

GraphML says they also support

application-specific attribute data

@LinguList
Copy link

Ah, sorry, one reason I forgot: GML can be read by cytoscape, and cytoscape is a very advanced software for visualization of graphs, which also exports to even d3/javascript/html, and would, e.g., read node-color attributes from GML. But this is of course no argument to use it as main format. However, having functionality to export to gml is useful, although one can add that simply later, as it is trivial from within networkx.

@xrotwang
Copy link
Contributor Author

xrotwang commented Jan 23, 2019

Looking at cytoscape, igraph and networkx it seems we should pick one of GML or GraphML (or possibly gzipped GraphML) - which seems to be the intersection of supported formats.

@chrzyki
Copy link
Contributor

chrzyki commented Jan 23, 2019

I've had good experiences with GraphML together with Cytoscape and networkx in the past. This also worked nicely with Cytoscape's JSON export and visualization.

@LinguList
Copy link

Good. Can you also confirm GraphML for Gephi, the other popular package (with which I have no experience)?

@chrzyki
Copy link
Contributor

chrzyki commented Jan 23, 2019

Have not worked with Gephi myself but the support matrix at least lists GraphML as one of the better supported:

https://gephi.org/images/graph-format-table-comparison.png
https://gephi.org/users/supported-graph-formats/graphml-format/

@xrotwang xrotwang transferred this issue from clics/clics2 May 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants