title: Collecting neighbors in Spark Graphframes
body: <p>I have an un-directed graph.
  Is there any efficient function to collect direct neighbors of specific vertex Id using Spark Graphframes? (This feature is available in GraphX <a href="https://spark.apache.org/docs/latest/graphx-programming-guide.html#collecting-neighbors" rel="nofollow noreferrer">[link]</a>)</p>
  
  <p>If yes, how can we achieve neighbors of level 2, 3 and ... (It means that the neighbors reachable with shortest path of length more than 1) </p>
  
  <p>As the best of my knowledge, only solution of this task is using find() and filter() combination (Motif Finding). but 2 issues arise:</p>
  
  <ol>
  <li>Is it efficient? Motif finding is build for un-anchored queries (query on patterns), not anchored (query on a specific vertex).</li>
  <li>Using join on dataframe is suitable for directed edge table. but my graph is un-directed.</li>
  </ol>