Does anyone know if there is a project being developed for a graph database similar to Neo4j? Neo4j is written in Java, and I was thinking that Julia has the characteristics that are most desirable for creating a graph database platform. I would start the project myself, but truth be told, as a biology Ph.D. student in Ecology and Evolution, I do not possess the mathematical nor programming skills necessary to pull a package like this together. I am willing to provide input with what I know if anyone wants a challenge.
I suggested that Neo4j add Julia compatability on hithub, doesn’t mean it will happen. There is Diana.jl for connecting to various databases using GraphQL. And, I think that would work with Neo4j, I’m trying to lean how to use db. Do I’m afraid I can’t give more help than that.
I was hoping for an alternative to Neo4j written in Julia. I am willing to participate in development but this is way above my skill level.
There’s also TypeDB for which a Julia client is in the works, although the database itself is also not written in Julia. And you might be interested in relational.ai who use Julia, but I’m not exactly sure what it is they’re building.
Thanks for the links. There looks to be many projects out there trying to organize complex data relationships into something query able. At such a time as I would recover more than 4 brain cells I will dive into these projects a bit further.
Our group started tackling scheduling optimization for factory production about 2.5 years ago and switched to Julia early on. We struggled to find a good graph DB that played well with Julia so we built a rough Julia native graph DB ourselves which we’ve been using internally for about a year now.
Happy to share what we have so far and curious to hear your feedback as well.
Jeffleesyn
Yeah I’d be interested in seeing what you have. Not sure what help I will be but I occasionally have a good idea or two.
Sounds interesting. Any plans to publish your code?
Hey JD, we’re still working out a few more kinks and improving the documentation, will have a better gauge on time in a few months!
As a side comment, you can also take look at RavenDB which has a pretty interesting feature set for data analysis, including
- Graphs
- Time Series with pretty good compression
- Documents
- Clustering
It’s not mentioned prominently on the site, but the code is AGPLv3 licensed.
On the downside, you would probably need to use the REST interface, and it’s written in C#.
Hi Jeff, would love to hear more about the project if you have any more updates to share with the rest of us.
Folks here may be interested in a graph database I’m working on: https://github.com/joshday/SQLiteGraph.jl
It’s built on top of SQLite.jl and is more-or-less a Julia interface to https://github.com/dpapathanasiou/simple-graph (which I came across on Hacker News a while back).
Right now the focus is on querying node/edge properties rather than traversal, but it’s fairly simple at its core and easy to hack around if there’s interest in that.
Ill take a look at it but I don’t know what assistance I can be. I’m glad that someone who knows what they are doing is able to work on this.
@jeffleesyn, I would like to keep tabs on your progress too. It would be great to run Julia functions on nodes/edges within the database itself.
@jeffleesyn are there any updates on the progress?
Former colleague of @jeffleesyn here. The product website is https://www.zefhub.io/. You can get a sneak peek of what to expect and request early access there.
On my side I’m looking for a Julia wrapper to ArangoDB https://arangodb.com/.
For those who prefer to stay away from Java, it’s a very well ranked multi-model database according to DB-Engines Ranking - popularity ranking of graph DBMS (ie it’s both Document store, Graph DBMS, Key-value store, Search engine) written in C++.
There is currently 2 Python clients
- GitHub - arangodb/python-arango: The official ArangoDB Python driver.
- GitHub - ArangoDB-Community/pyArango: Python Driver for ArangoDB with built-in validation
but no Julia client Official ArangoDB drivers | ArangoDB Documentation