A Graph Based Approach for Making Recommendations Based on Multiple Data Sources