Notice how A* is implemented without any explicit graph object: everything is functions.
This is a model worth thinking about. There are an infinite number of graph libraries for Java. If your value-add is a query language on top of graphs, why not skip the graph representation and let someone else maintain that so you can focus on the query language?
Comments
In addition to tests, it's probably time to flesh this out by adding functions that operate on graphs.
It's also relevant to look at this:
http://hackage.haskell.org/packages/archive/astar/0.2.1/doc/...
Notice how A* is implemented without any explicit graph object: everything is functions.
This is a model worth thinking about. There are an infinite number of graph libraries for Java. If your value-add is a query language on top of graphs, why not skip the graph representation and let someone else maintain that so you can focus on the query language?