public IEnumerable <EdgeModel> GetConnectedEdgesForVertex(string vertexId) { var vertex = GetVertex(vertexId); var children = dataBridge.GetConnectedVerticesForVertex(vertexId); foreach (var vertexData in children) { var childVertex = graph.Vertices.FirstOrDefault(v => v.VertexId.Equals(vertexData.VertexId)) ?? new VertexModel(VertexTypes.Person, vertexData.VertexId, vertexData.FullName, vertexData.AddressImage, vertexData.StandardPhone); yield return(new EdgeModel(vertex, childVertex) { SourceRole = vertexData.OtherRole, TargetRole = vertexData.MyRole }); } }