Re: [ANN] Ubergraph 0.1.0

2015-04-30 Thread Mark Engelberg
I've worked with many DAGs represented as trees just using Clojure's maps and vectors in a straightforward manner, and like you say, that's often enough to get the job done. I think where Loom and Ubergraph really start to pay off is when you need to associate attributes to the various nodes and e

Re: [ANN] Ubergraph 0.1.0

2015-04-30 Thread kovas boguta
I want an API that is optimized around tree traversal and replacement. Clojure.walk and zippers can be pretty great, as of course the associative aspect of maps and vectors. Going from a tree of maps and vectors to a graph representation makes things harder and less direct. Theres some challenges

Re: [ANN] Ubergraph 0.1.0

2015-04-30 Thread Mark Engelberg
Ubergraph can certainly represent DAGs, since DAGs are just a special case of directed graphs. There is also the function ubergraph.alg/dag? to test whether a graph is a DAG. There are included algorithms, such as topological sorting, which only work on a DAG, and other functions, such as shortes

Re: [ANN] Ubergraph 0.1.0

2015-04-30 Thread kovas boguta
Very cool! On a related note: I would be interested in a similar library focused on DAG's. Any thoughts there? On Wed, Apr 29, 2015 at 10:00 PM, Mark Engelberg wrote: > https://github.com/Engelberg/ubergraph > > Ubergraph is a versatile, general-purpose graph data structure for > Clojure.

[ANN] Ubergraph 0.1.0

2015-04-29 Thread Mark Engelberg
https://github.com/Engelberg/ubergraph Ubergraph is a versatile, general-purpose graph data structure for Clojure. It is designed to complement and extend Loom, a popular Clojure collection of graph protocols and algorithms. Ubergraph implements all of Loom's protocols and draws them together in