can QuickGraph support these requirements? (includes database persistence support)

Topics: graph
Apr 26, 2010 at 12:23 PM


Would QuickGraph be able to help me out with my requirements below? 

(a) want to model a graph of nodes and directional relationships between nodes - for example to model web pages/files linked under a URL, or modeling IT infrastructure and dependencies between hardware/software.  The library would include methods such as

  • Node.GetDirectParents()   //i.e. there could be more than one direct parent for a node

  • Node.GetRootParents()  //i.e. traverse the tree to the top root parent(s) for the given node

  • Node.GetDirectChildren()

  • Node.GetAllChildren()

(b) have to persist the data to a database - so it should support SQL Server and ideally SQLite as well.


If it does support these requirement then I'd love to hear:

i) any pointers to any parts of QuickGraph to dig into?

ii) what is the best concept re it's usage in terms of how to use database persistence - is it a simpler design to assume every search/method works directly on the database, or does QuickGraph support smarts to be able to work in memory and the "save" to database all changes at an appropriate point in time (e.g. like does with DataTable etc)


Thanks in advance