pranavtbhat / Graft.jl

Graph Toolkit for Julia
Other
30 stars 5 forks source link

Graft.jl

Build Pkg Status Coverage License Documentation
Build Status Graft codecov.io MIT licensed

A graph toolkit for Julia.

Graft stores vertex and edge metadata in separate dataframes. Adjacencies are stored in a sparsematrix, which also indexes into the edge dataframe. Vertex labels are supported for all external queries, using a bidirectional map. Vertex labels may be of any Julia type.

Data manipulation and analysis in Graft is accomplished with a pipelined query macro system adopted from Jplyr. User queries are parsed recursively, to build a DAG. The DAG is then executed from the bottom up. Results from the execution of intermediate nodes or table data-retrievals are cached to avoid redundant computations.

Installation

julia> Pkg.update()
julia> Pkg.add("Graft")

Examples

Acknowledgements

This project is supported by Google Summer of Code and mentored by Viral Shah and Shashi Gowda.