Graph persistence using GRATR
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
features
lib
pkg
spec
.gitignore
LICENSE
README
Rakefile
VERSION.yml
tenacious_g.gemspec

README

tenacious_g
===========

This is a persistent graph library, extending Gratr.  It is meant to be a simple thing: 

  [davidrichards]$: tg
  Loading Tenacious G (Persistent Graphs Database)
  >> @g = Digraph.new
  => GRATR::Digraph[].
  >> @g.add_edge!(2,3)
  => GRATR::Digraph[GRATR::Arc[2,3,nil]].
  >> @g.save('some_name')
  => nil
  >> @g = Digraph.new
  => GRATR::Digraph[].
  >> @g.add_edge!(2,3)
  => GRATR::Digraph[GRATR::Arc[2,3,nil]].
  >> @g.save('some_name')
  => nil
  >> @g1 = TenaciousG.load('some_name')
  => GRATR::Digraph[GRATR::Arc[2,3,nil]].
  >> @g1 == @g
  => true
  >> @g.add_edge!(1,2)
  => GRATR::Digraph[GRATR::Arc[2,3,nil], GRATR::Arc[1,2,nil]].
  >> @g.name
  => "some_name"
  >> @g.location
  => "/Users/davidrichards/.tenacious_g/some_name.graph"
  >> @g.save
  
I include GRATR and TenaciousG, so that it's a little more convenient to work with these things.  I wrote this to make using graphs with machine learning a simpler decision.  As long as a graph can fit in memory, this is probably a good choice.  When things are too big for that, or slowing down from all the computation you need to run, check back in to see if I have my distributed graph database finished yet.  

There is a console, shown above (tg), but this was mostly intended to be included in other libraries or applications.  

COPYRIGHT
=========

Copyright (c) 2009 David Richards. See LICENSE for details.