title: Get all child nodes recursive
body: <p>Right now, to return a sub graph from Neo4J, I use </p>
  
  <p><code>Match(n{id:"&lt;uuid&gt;"}) OPTIONAL MATCH (n)-[*..25]-&gt;(m) RETURN DISTINCT *</code></p>
  
  <p>This is very inefficient for deeply interconnected graphs (as without RETURN DISTINCT, I get 100k results as apposed to a measly under 100 results.</p>
  
  <p>How do I efficiently request all sub-nodes of a node without using APOC? (AKA, make the DISTINCT redundant instead of required in the matching; AKA, visit each node only once during matching?)</p>