But in and of itself, GraphQL isn't really built to query graph databases as you said.
[0] https://dgraph.io/docs/query-language/graphql-fundamentals/
Any graph, when you traverse it from a specific node, with fixed depth, and you don't explicitly work with node references, but rather node "values", looks like a tree that sprawls from that node.
Anyway, PathQuery is a completely different beast regardless.
A graph query language implies you're querying a graph with specific edges, not ones constructed on the fly from the query.
GraphQL's goal isn't to be "advanced" either. Its goal is to allow access to any data structure (be it backed by graph, RDBMS, file system, NoSQL, etc. etc.) without burdening said structure with capabilities that are not characteristic to it.
Like, if you query a graph, the idea the query may provide any arbitrary join expression would completely drive that graph's performance into the ground.
And not automatically joining by foreign key is a mistake that's going to haunt us for a while I bet.
However when we're arguing capability then it's just as capable of querying a graph as graphDB is. More if the version of SQL supports recursive joins.
And no, arbitrary join expressions are not a feature that "haunts" SQL databases, because unlike graph databases, relational databases ARE built for that, and it's one of the primary reasons SQL databases are very resilient to change in face of constantly changing ad-hoc query requirements. And it's an important feature of relational algebra that is used every day by countless applications.
SQL and GraphQL serve different purposes at different application layers. Both do precisely what they have to do. The fact they're a bit similar is not coincidental, but also they're not mutually replaceable.