Multipartite Graph Algorithms For The Analysis Of Heterogeneous Data