Yea performance is the thing. You're correct that most of these queries can also be expressed in a relational DB.
The underlying data structures involved in Neo4J do help with performance on these kinds of queries, but in addition to that I find that for me the Cypher query language feels like a more concise and elegant way to ask for the data.
With RCTE it feels like I'm first asking the DB to construct a custom data structure, then I'm asking the DB to query that custom data-structure.
With Cypher it feels like I'm simply asking for the exact data I need by specifying the relationships and attribute characteristics that I care about.
This might just be a matter of taste, but if you start playing around with Cypher it just might grow on you.
The underlying data structures involved in Neo4J do help with performance on these kinds of queries, but in addition to that I find that for me the Cypher query language feels like a more concise and elegant way to ask for the data.
With RCTE it feels like I'm first asking the DB to construct a custom data structure, then I'm asking the DB to query that custom data-structure.
With Cypher it feels like I'm simply asking for the exact data I need by specifying the relationships and attribute characteristics that I care about.
This might just be a matter of taste, but if you start playing around with Cypher it just might grow on you.