Social Recommendation using Graph Database Neo4j:Mini Blog, Twitter Social Network Graph Case Study

  • Enzhi Zhang
  • Jinan Fiaidhi
  • Sabah Mohammed


We are currently living in the age of BigData and social networking where the generated data is mainly unstructured and disorganized. This nature of such newly generated data which are growing exponentially gives importance for relationships between entities and point to the importance of using graph databases. By following the relationships between the people and properties in a meaningful manner you can determine co-occurrences, frequencies, and relevant nodes in the graph. This is the basis for many recommendation engines especially the one used for real-time recommendation engines operating on fast growing social data like Twitter. Real-time recommendation engines are key to the success of any online business. To make relevant recommendations in real time requires the ability to correlate product, customer, inventory, supplier, logistics and even social sentiment data. Moreover, a real-time recommendation engine requires the ability to instantly capture any new interests shown in the customer’s’ current visit – something that batch processing can’t accomplish. This case study is an attempt to use a graph database Neo4j; one of the NoSQL data model, to build a mini blog prototype in order to perform efficient social recommendation. The Neo4j cypher query language is used to analyze real life social network dataset imported from twitter. The mini blog prototype has been created a web application using python flask web framework.