-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Database backends for Graft.jl #25
Comments
RDMBSThe use of JDBC or ODBC should make this fairly straightforward. The current graph definition is: type Graph
nv::Int
ne::Int
indxs::SparseMatrixCSC{Int,Int}
vdata::AbstractDataFrame
edata::AbstractDataFrame
lmap::LabelMap
end After adding a layer of abstraction for type of DB in use, this should look like: abstract GraphDataStore
# Current implementation
immutable TableStore <: GraphDataStore
vdata::AbstractDataFrame
edata::AbstractDataFrame
end
# RDMBS implementation (two tables: Vertex and Edge)
immutable RelationalStore <: GraphDataStore
dbconn:: JConnection
end
# Metadata access should look something like this:
function getvprop(x::RelationalStore, vs::VertexList, prop::Symbol)
# set @VLIST
DataFrames.readtable(executeQuery(createStatement(x.dbconn), "SELECT $prop FROM Vertex WHERE ROWNUM in @VLIST")
end
type Graph
nv::Int
ne::Int
indxs::SparseMatrixCSC{Int,Int}
propgraph::GraphDataStore
lmap::LabelMap
end |
GraphDBThere seems to be a wrapper for Neo4j already : https://github.com/glesica/Neo4j.jl. There is an officially supported python driver that uses a faster BOLT protocol. We can either call this from within Julia or try replicating it. Update : writing a bolt driver for Julia should be straightforward. This tutorial is pretty informative. I will start experimenting with the socket API soon. |
fwiw, it looks like the bolt driver info moved to here: https://github.com/neo4j-contrib/boltkit |
Just checking if one of you have made progress on the matter of bolt driver for julia withn last year. |
This is to scope the work required to integrate
Graft.jl
with relational databases/ graph databases.The text was updated successfully, but these errors were encountered: