Short answer that I've used myself in the past:
If you need to maintain a lot of semi-complex relationships between different entity types, my recommendation would be MySQL.
If you're storing fewer primary entity types and using the relations more for describing the primary entities, then consider MongoDB and storing the data with the document.
If you're feeling frisky and your'e relationship model AND your querying needs are crazy complex (friend of friend stuff), try looking at graph databases like Neo4J, ArangoDB or OrientDB.
If you REALLY want to have some fun: go polyglot. Select 2 or 3 databases that address the different needs of your data and combine them via your application layer. For instance: