artimath

artimath

Who’s using graph databases today?

I think I’ve tried 5 different graph database libraries in the last two days and not a single one has been able to connect to a remote/local db. All sorts of wonderful errors, db connection genservers crashing on MatchErrors, library only supports version 4.2 of db and the only ones offered now are 5+, etc.

Perhaps it’s because I’m using 1.14.5/otp26, but it seems more that many of these libraries are just no longer actively maintained.

Perhaps it’s a sign from the Ecto gods that I shouldn’t use a graph db in my project.

Anyway, is anyone actively using elixir with graph databases? If so, what’s your stack?

Side note: attempting to debug and troubleshoot said errors has taught me a significant amount of valuable insights into how elixir, mix, libraries, config all work together… so that is a big plus! Also, why it’s important for a library to include tests :joy:

Most Liked

krstfk

krstfk

I’m currently working on a new driver for neo4j that will support v 5+. I’m still ironing out a few things but I hope I’ll be able to release it by the end of June or so.

In the mean time neo4j v 3 and v 4 can still be downloaded. If you don’t use the commercial version, the feature set is rather stable.

sagastume

sagastume

Hello! I’ve been working on a fork of Bolt Sips for the past 3 months. You can find the project at:
https://github.com/sagastume/boltx
It provides support for the latest versions of Neo4j and Bolt. Personally, I’ve been conducting tests with Neo4j Aura.

During this period, I made numerous changes to Bolt Sips, including refactoring PackStream, protocol, socket, and more. The idea behind these changes is to make the implementation as simple as possible, making it easy to adapt to future modifications.

Feel free to try it out and let me know if everything is working smoothly :slight_smile:

Compatibility with Neo4j versions: 3.0.x/3.1.x/3.2.x/3.4.x/3.5.x/4.x/5.9 - 5.13.0
Compatibility with Bolt versions: 1.0/2.0/3.0/4.x/5.0/5.1/5.2/5.3/5.4

bgoosman

bgoosman

I’ve added precompiled versions of kuzu_nif, so you can use KuzuDB without installing a Rust compiler on your computer. Attempt at adapting KuzuDB's Rust crate into Elixir via NIF, any tips/thoughts? - #19 by bgoosman. The advantage of KuzuDB is no server required. It’s all embedded.

krstfk

krstfk

The thing is that there’s an impedance mismatch between Ecto and graph databases. I believe Dominique Vassard has done some work to provide an ecto like interface on top of bolt_sips but I’m not convinced it may work as is. I believe he also has done some work taking inspiration from ecto.

That being said, one of the things that needs ironing out on my side is providing a repo construct (which is harder than initially thought because clustering is very much a necessity for a driver for neo4j).

By the way Florin Patrescu has stated a while back that he was not able to maintain bolt_sips anymore. And I would like to make it very clear that I have not started a new project because of any issues I had with bolt_sips or any of its maintainers. The thing is when bolt_sips started (and even a couple of years ago), the bolt protocol was poorly documented and now the situation is much different which may lead to radically different design decisions and incompatibilities, which is why I have opted to work on a new driver (hopefully released by the end of June) that will definitely owe a lot to Florin Patrescu and all of the bolt_sips contributors.

TomGrozev

TomGrozev

The Arango database is really good and I’d recommend you check it out. Shameless plug I made the ArangoDB adapter for Ecto: GitHub - TomGrozev/arangox_ecto: An ArangoDB Ecto adapter using ArangoX

It has full graphing support and works really well with Ecto. In the next release ArangoSearch functions will also be available.

Where Next?

Popular in Discussions Top

BigTom
With Phoenix, Liveview, Ash, Oban Web, Nx, Livebook, Beacon, Liveview Native, Flame, Nerves etc all getting mature, are there any major g...
New
New
SyntaxSorcerer
This is the start of my Elixir learning journal/journey. I plan to share my journey in this thread and am open to all feedback, construct...
New
AstonJ
Bart’s talk about Hologram got me wondering what kind of apps or components people are thinking about building (or think could be built) ...
New
bartblast
Added by a user on X: https://x.com/aldicodes/status/1952095492139299036
New
ashkan117
I’m wondering how do people structure their JSON Api’s with Phoenix. Using the blogs example, let’s say I have a blogs view like the foll...
New
matreyes
I haven’t seen this paper being discussed by the community, but I think this makes Elixir more relevant than ever. TLDR; The paper...
New
dogweather
I’ve been brainstorming about ways to solve the N-dimensional code organization problem, and am thinking about developing a Smalltalk-lik...
New
karlosmid
The |> operator appears in many languages, mostly in the functional world. F# has essentially the exact same operator, as does OCaml. ...
New
AstonJ
There seems to be a lot of buzz around DeepSeek at the moment, with some saying it’s a ChatGPT killer. The most remarkable thing (if they...
New

Other popular topics Top

freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1140 51847 244
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30048 115
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 45766 226
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers' Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New

We're in Beta

About us Mission Statement