The primary entity in our data model is a Twitter user. A Twitter user can perform the following relationship-forming actions when posting a tweet:
Use a word
Mention a hashtag
Mention another user
Mention a URL
Retweet another user
This concept maps very naturally into a graph model. In the model, we will have four different entity types (vertices):
User: This represents a Twitter user account
Word: This represents any word contained in a tweet
URL: This represents any URL contained in a tweet
Hashtag: This represents any hashtag contained in a tweet
Relationships (edges) will consist of the following actions:
mentions_user: Using this action, a user mentions another user
retweets_user: Using this action, a user retweets another user's post
follows_user: Using this action, a user follows another user
mentions_hashtag: Using this action, a user mentions a hashtag
uses_word: Using this action, the user uses a specific word in a tweet
mentions_url: Using this action, a user tweets...