no i can summarize the graphs using connected components as such:
val cc = userGraph.connectedComponents
userGraph.vertices.leftJoin(cc.vertices) {
case(id,tfn,ent) => s"$tfn is in component $ent"}.collect.foreach{ case (id,str) => println(str) }
and i get the results i expect
(101,SH,0,2) is in component Some(1)
(102,COY,1,0) is in component Some(1)
(103,COY,1,2) is in component Some(1)
(104,COY,1,0) is in component Some(1)
(105,COY,2,0) is in component Some(1)
(106,SH,0,1) is in component Some(1)
(107,SH,0,1) is in component Some(7)
(108,COY,1,0) is in component Some(7)

this essentially gives me two clusters with the root nodes for each as ID 1 and ID 7. what i really want to do is identify the third cluster that is built into this graph (the connection between 106 and 105 as another cluster. My results would identify that 105 was in cluster 1 and the new cluster. any help appreciated.