I'd be happy to be proven wrong, I love graphs!
http://www.swi-prolog.org/pldoc/man?section=semweb-scalabili...
https://franz.com/agraph/support/documentation/current/lisp-...
Before getting into Neo4j (and later joining the company), I'd worked with SQL databases a lot and, at one point, as a DBA. I spent the first few months trying to draw direct analogies between graphs and tables but after a while realised that I needed to "unlearn" a load of what I thought I already knew.
It's now pretty refreshing to be able to look from a higher vantage point at the different types of data store available, and work out which is the right one for each job.
It turns out that the graph is actually the best solution more often than you'd think!
The other REALLY big advantage, the data model never changes! I literally let the graph, to a certain extent, write the code (that is, code is generated based on graph relationships on the fly)
And finally, you can have everything in the "same" location, you are always working with an "information" lake - no need to have many many different tables.