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.

Reply via email to