I have a dataset which is best represented by a graph. It consists of nodes of 6 or 7 different \"types\" with directed edges (dependencies on one another, guaranteed not t
I haven't used it, but you might want to check out data.js. It's an MIT-licensed library with a range of data-structure utilities. In particular, it includes Data.Node and Data.Graph:
A Data.Graph can be used for representing arbitrary complex object graphs. Relations between objects are expressed through links that point to referred objects. Data.Graphs can be traversed in various ways.