- 1. Which teams are having more conversations?
One user may create a chat session on a topic, that is, not very interesting for the other team members, or a direct question for example, that is not leading to a rich conversation (few messages). So, we suppose here that “more conversation” means “more messages” == “chat texts”. For this, we could count the “writes” edges from “user” to “chat text” and group them by “team”. The query should take in consideration the timestamp to assign the right “writes” action to the right “team”, as users may change the team during the game. A node “Team” was added to be able to answer such question, in addition to edges “Creates”, “Joins” and “leaves”
- 2. Do users chat more (or less) before they leave a team?
Now that we know when a user X left, we could construct a chart of his last month activity for example (messages) and state, if there is a decreasing/increasing trend, or that the chat activity is not correlated with the decision of leaving.
- 3. What are the dominant terms (words) used in a chat session within a specific time period?
Using the timestamp in “Writes” action between “User” and “Chat text”, we can then leverage the Text mining/NLP techniques to extract statistics of words usage within a specific chat session, or in all chat sessions (“tf-idf” for example) across the “MessageContent” recorded in “Chat text” node.
- 4. Which users are most active in a specific chat session?
Like in the 1st question, this could be done through a count on “Writes” edges from “User” to “Chat text” grouped by “users” and filtering on the “chat session” ID that we are interested in.
- 5. How many chat sessions is a user participating in at the same time?
Using the timestamps of “Joins” and “Leaves” edges between “User” and “Chat session”, “number of chat sessions a user is participating in at the same time” , at T1 (time point reference), is the difference between the count of “Joins” and “Leaves” actions, until T1.