Titan and virtually any graph database will be good at storing all the information you cited. In most cases, the main thing you want to avoid putting in the graph, as far as a data type goes, would be large amounts of binary data, like a file/image. Such things are best stored elsewhere, like Amazon S3, and just referenced within the graph in some way as a pointer.
As far as "notifications" go, I'm not sure I understand your question. How you choose to "notify" a user of "something new" isn't really a function of the graph or cassandra. If you really just mean, how do I go about recommending the newest posts to a user, then a graph database is fine for that and Titan would likely be the best choice due to its support of vertex centric indices. You would basically create an index that sorted your edges from user to post by descending date order and could then easily grab the first 10 newest posts.