Using Multipartite Graphs for Recommendation and Discovery