Most GraphRAG or knowledge-graph setups I've seen end up as three separate systems duct-taped together: Neo4j (or similar) for the graph, Qdrant or pgvector for embeddings, and Postgres or Mongo for the actual document data. Three query languages, three connection pools, three things to back up and monitor. It works, but it's a lot of moving parts for what's conceptually one data problem.

ArangoDB is a multi-model database that does graph, document, and vector search natively, behind one query language (AQL). Instead of joining across systems in application code, you write one query that touches all three.

What that actually looks like

A traversal query - "find everything two hops out from this node" - reads like this in AQL:

FOR v, e, p IN 1..2 OUTBOUND 'products/laptop' GRAPH 'store_graph'