Hello everyone, I've been working on Graft <https://github.com/pranavtbhat/Graft.jl>, a GSoC project under my mentors *Viral B*.* Shah, *and *Shashi Gowda*. Graft is essentially a data analysis tool for networks (graphs with attached metadata).
Here's a brief summary of what Graft supports: 1. Key value pairs can be attached to vertices/edges. This metadata is stored using two dataframes, and a SparseMatrixCSC to index edges. 2. Vertices can be labelled, and labels can be used externally. 3. Some basic SQL like queries on vertices and edges. 4. Exporting data to LightGraphs for graph algorithms support. Here's my blog <http://julialang.org/blog/2016/08/GSoC2016-Graft>, which describes my project in much more detail. We would like to support more complex queries, and a better query syntax notation. Therefore, we would really appreciate it, if people with problems involving graph data tried out the package, and provide feedback on what kind of queries they would like to see. We're also looking into support for multiple backends. The goal is to eventually support a variety of storage formats for graph data. The dataframes could be replaced with a RDBMS, and Graft could also serve as a wrapper over a graph database such as Neo4j. Neo4j is an excellent graph database which already supports a graph query system. However, it doesn't have a fast driver (that uses their bolt protocol) for Julia yet. We could call an existing Neo4j driver (in C++, Java or Python) or write a native driver in Julia. Any thoughts on this? Thanks, Pranav.
