2.0.0 • Published 9 years ago

graphmitter v2.0.0

Weekly downloads
4
License
MIT
Repository
github
Last release
9 years ago

graphmitter

var Graphmitter = require('graphmitter')
var g = Graphmitter()

// create edges
g.edge(1, 2).edge(2, 3).edge(3, 4)

// delete an edge
g.del(3, 4)

// iterate each node
g.each(console.log)
// => 1 { edges: { '2': true } }
// => 2 { edges: { '3': true } }
// => 3 { edges: { '2': true } }
// => 4 { edges: {} }

// get full structure
g.toJSON() /* =>
{ '1': { '2': true },
  '2': { '3': true },
  '3': {},
  '4': {} }
*/

// see connected nodes from a start node, including # of hops
g.traverse({ start: 1 }) // => { '1': 0, '2': 1, '3': 2 }
g.traverse({ start: 2 }) // => { '2': 0, '3': 1 }
g.traverse({ start: 1, hops: 1 }) // => { '1': 0, '2': 1 }
g.traverse({ start: 1, max: 2 }) // => { '1': 0, '2': 1 }

// rank the connectedness of nodes using a pagerank derivative
g.rank() /* =>
{ '1': 0.037500000000000006,
  '2': 0.25,
  '3': 0.25,
  '4': 0.037500000000000006 }
*/
g.edge(3, 2)
g.rank() /* =>
{ '1': 0.037500000000000006,
  '2': 0.4625,
  '3': 0.25,
  '4': 0.037500000000000006 }
*/

// helper to generate a random graph
Graphmitter.random(100, 100) // 100 nodes, 100 edges

License

MIT

2.0.0

9 years ago

1.7.0

9 years ago

1.6.3

10 years ago

1.6.2

10 years ago

1.6.1

10 years ago

1.6.0

10 years ago

1.5.0

10 years ago

1.4.0

10 years ago

1.3.0

10 years ago

1.2.0

10 years ago

1.1.4

10 years ago

1.1.3

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.0

11 years ago