So is anyone using neo4j in a production phoenix application?

I’ve just come to the realization that my project could greatly benefit from a graph database. It still seems pretty immature in the elixir world. Is it really that bad? How feasible would a mix of, say, postgres and neo4j be? Would it be easier to just go totally neo4j?

I’d love to hop on a call and pick your brain if you’ve got experience with this.

1 Like

It is not common the usage with elixir, but it is not inexistente, there are drivers for neo4j. For the mix of postgres and neo4j, what would be the reason? If you need multi model database you can check out arangodb, which also have a driver and also have an HTTP API, same as neo4j

3 Likes

Exploring Graphs with Elixir (PragProg) deals with graph databases using elixir. In particular, Bolt Sips is utilised to access Neo4J. Using Bolt Sips, one may employ Cypher to query Neo4J.

2 Likes

If your graph needs are treelike/hierarchical this is a great feature PostgreSQL: Documentation: 14: F.21. ltree

2 Likes

Recursive CTEs can also be used quite well for that: Waiting for PostgreSQL 14 – SEARCH and CYCLE clauses – select * from depesz;

5 Likes

I was also going to recommend the #book-exploring-graphs-with-elixir :smiley:

There’s also Apache AGE which people using Postgres might be opting for:

Apache AGE is a PostgreSQL extension that provides graph database functionality. The goal of Apache AGE is to enable users of Postgres to use graph query modeling in unison with Postgres’ existing relational model.

Postgres seems to have it all these days, graph extensions, NoSQL, Hstore, etc

5 Likes

Thanks so much everyone, there’s some really interesting responses in here that I never would have thought of. Also I’m aware of the graphs in elixir book but I told myself I wouldn’t read any more programming books for a while :rofl:

1 Like