I’m just starting to look into dynamic networks, especially looking at changes in edge weights over time. I plan to export individual igraph networks to ORA (but I do not think this end point is key to my question) and assemble them into the dynamic network.
(For details on ORA, see Projects - *ORA-LITE | CASOS which begins with:
"ORA-LITE is a dynamic meta-network assessment and analysis tool developed by CASOS at Carnegie Mellon. It contains hundreds of social network, dynamic network metrics, trail metrics, procedures for grouping nodes, identifying local patterns, comparing and contrasting networks, groups, and individuals from a dynamic meta-network perspective. *ORA-LITE has been used to examine how networks change through space and time … ")
I want to use write_graph()
to export an igraph network to a file format that retains
- node name/id (very useful),
- edge weight (quite useful),
- node size (not essential, but desirable as this may change over time).
After some experimentation I’ve found that exporting to Pajek format (.paj) gives me 1. and 2. when I open the file in ORA. (I can’t see how to get 3, but I’ve never used Pajek and might be ignorant in my experiments.) Writing to .graphml gives me 2. and 3. when I open the file in ORA. At the moment I’m leaning towards the Pajek approach.
I saw this post on .graphml/node ids from seven years ago:
suggesting that some processing of node ids in the .graphml was the way to proceed.
I will be looking at some pretty large dynamic networks soon, a few thousand nodes over each of maybe 20 years. I am looking for suggestions on how to proceed efficiently.