gexfd3
gexfd3 copied to clipboard
Attributes with dynamic extent during lifetimes of nodes and edges
Thanks very much for this library! Very useful to me. Am I correct in thinking that it doesn't yet support GEXF dynamic attributes, because gefx-parser doesn't yet support them either? Am I interpreting the code in both libs correctly? (Really just a superficial skim on my part.) I do see that that the "complex GEXF example" illustrates how one can use gexfd3's dynamicAttribute() to give nodes and edges dynamic lifetimes, controlled with the help of dynamicBrush(). That's different from GEXF dynamic attributes as such, in which <attvalue> is used with e.g. start= to give properties of nodes and edges changing values during the node's/edge's lifetime. That's something that's important to me. I may be able to figure out enough to contribute this functionality, but wanted to see what you thought, first.
(Do you mind a stranger appearing out of nowhere, creating an issue? [Two degrees of separation, anyway. It was Scott Weingart who recently turned me on to D3.js.] Let me know if there's a better method of contact about gexfd3. Thanks.)
Thanks for the note.
You're right, this does not recognize the GEXF standard's dynamic attributes because gexf-parser doesn't. I could build out that functionality, if you think there's interest in it.
And yes, this is exactly for strangers noting where libraries like this could be enhanced and please feel free to add as many feature requests or bug reports as you want.
Thanks! I certain have an interest in dynamic attributes in GEXF, but maybe I'm unusual right now. I get the sense that dynamic attributes are not in very widespread use. Perhaps there's not much data available. D3 seems like the best way to create an interactive interface to data from the agent-based simulations that I have been writing, as well as allowing others to explore my simulation data on the web. (I began developing the simulations in the NEH workshop where I met Scott.) In each simulation there is a social network of agents whose states change over time, and within each agent there are neural networks whose node and edge properties change over time. I recently added the ability to record simulation runs in GEXF format, and have been using the dynamic attributes in Gephi to follow details of the simulation process. (Unlike people who use real world data, I can make as much as dynamic attribute data I want.) However, that doesn't allow the kind of flexible, interactive interface tailored to my purposes that D3 would allow. Since I just started learning D3 recently, the experiments with my data are still pretty simple at this point (e.g. http://members.logical.net/~marshall/popco.html).
I opened an issue on gexf-parser: https://github.com/Yomguithereal/gexf-parser/issues/21
As I say at Yomguithereal/gexf-parser#21: I've been playing around with trying to implement dynamic attributes. I've come to realize that this is a huge change, and not easy to implement. That's how it looks to me, anyway. So ... for whatever it's worth, my use case just involves (a) integer times (ticks), (b) with intervals that are always one tick long. So all that I need is a single time index for each attribute. That's easier to implement than full dynamic GEXF, but implementing this functionality alone wouldn't go very far toward the general dynamic GEXF.