sk2 / ank_legacy_v2

Legacy edition of autonetkit. Please see https://github.com/sk2/autonetkit for latest version
www.autonetkit.org
BSD 3-Clause "New" or "Revised" License
10 stars 4 forks source link

Feature Request: Ability to parse a CSV or GraphML #231

Open ntwrkguru opened 12 years ago

ntwrkguru commented 12 years ago

Obviously the CSV would need to be formatted a certain way, but for a larger build this would be faster than yEd. Especially once/if the link property features are added. :-)

sk2 commented 12 years ago

AutoNetkit is based on NetworkX, so I can very easily drop in reading from one of the following formats: http://networkx.lanl.gov/reference/readwrite.html

Otherwise Python (like any language) has pretty decent CSV support, so we can create a custom format pretty easily. As long as the first line of the CSV is the titles, then we can easily scale to arbitrary attributes (something I need to be mindful of as we extend AutoNetkit).

Did you have a mock example of how you would like the input format to look?

ntwrkguru commented 12 years ago

Hmm...Interesting. Unfortunately, it looks as if NetworkX specs will be a bit limited for eventual application (I suspect), so CSV parsing within Python itself may be the answer. Plus, I think this allows the most flexibility with respect to features. I'll work on a mock up CSV (keeping it simple...at least initially), but essentially I'd like to be able to depict the network either graphically (using .graphml) or text (using CSV).

ntwrkguru commented 12 years ago

Actually, let me ponder a bit. The more I think about it...the more I think the adjacency list may work...

sk2 commented 12 years ago

Problem with the adjacency list is the node properties - eg asn - aren't supported. Not sure what is the most elegant way to have both nodes and edges, with properties for each. Ideally in the same input file.

On 09/02/2012, at 1:07 PM, ntwrkguru reply@reply.github.com wrote:

Actually, let me ponder a bit. The more I think about it...the more I think the adjacency list may work...


Reply to this email directly or view it on GitHub: https://github.com/sk2/autonetkit/issues/231#issuecomment-3880884

sk2 commented 12 years ago

Part of the solution depends on the motivation:

  1. output from external tools that dont support graphml, eg a link state database.
  2. Fast user generation of large networks without lots of clicking
  3. Would make sense to use csv, or an equivalent format.
  4. Means we need to have better abstractions for network design. We have some work under review in this area, but id be very interested for industry input on easy ways to write large network topologies.

On 09/02/2012, at 12:58 PM, ntwrkguru reply@reply.github.com wrote:

Hmm...Interesting. Unfortunately, it looks as if NetworkX specs will be a bit limited for eventual application (I suspect), so CSV parsing within Python itself may be the answer. Plus, I think this allows the most flexibility with respect to features. I'll work on a mock up CSV (keeping it simple...at least initially), but essentially I'd like to be able to depict the network either graphically (using .graphml) or text (using CSV).


Reply to this email directly or view it on GitHub: https://github.com/sk2/autonetkit/issues/231#issuecomment-3880805