Memgraph
TL;DR
Performant, excellent documentation, easy to deploy, Neo4j compatible (both queries & client drivers) & even supports custom functions with Python, along with C/C++ & Rust!
Getting Started
Fire up console: curl -sSf "https://install.memgraph.com" | sh
Things can screw up...
- in my case port 3000 was in use, web UI frontend won't start
- Bring it down with
docker-compose downwithin the~/memgraph-platform - Edit
docker-compose.yml, change3000:3000to3030:3000or whatever not used - Run
docker-compose up -d, everything should work
Well Designed Onboarding Experience
I have tinkered with Neo4J, OrientDB, FalkorDB, DGraph... but I like this the most so far because...

Conforms to good UX principles from Prof Shneiderman's Visual Information Seeking Mantra:
Overview (first) > Zoom & Filter > Details on demand
In this case, it didn't just load some arbitrary data & leave the user clueless. You can see basic schema of this data-set (top) & overview of the data-set:

Providing a set of queries for exploration (Details on Demand):

UI actually warns about the large returned data-set & asked if we want to proceed! Nice!
For those into more advanced stuff: https://memgraph.com/docs/advanced-algorithms/available-algorithms/node2vec
Improving Deployment Experience
- Avoid hard-coding port values within
docker-compose.yml. - Deployment scripting should check for port availability especially for frontend since every other frontend love
3000! - Script will then pick available port, write into a
.env&docker-compose.ymlreference environment variable. - Of course once container started, SHOW the frontend URL & further instructions clearly!