title: Neo4j vs. ArangoDB when modeling a social network
body: <p>I want to build a social network. (E.g. Persons have other persons as friends) and I guess a graph database would do the trick better than a classic database. I would like to store attributes on the edges and on the nodes. They can be json, but I do not care if the DB understands JSON.</p>
  
  <p>ArangoDB can also store documents and Neo4J is "only" a graph Database.</p>
  
  <p>I would like to have an user node an to each person 2 eg.</p>
  
  <blockquote>
    <p>Users -[username]-> person<br>
    Users -[ID]-> person</p>
  </blockquote>
  
  <p>And there is a need that there is an index on the edges. I do not want a different database, so it would be nice to store an image (byte array) in the database, maybe even different sizes for each image / video whatever. Also posts and such should be stored in the database.</p>
  
  <p>What I got is that Neo4j better supports an manufacture independent query language, but I guess it is easier and better to learn the manufacturer standard. Any recommendations on which database management system is better suited? I will be writing the code in Java (and some Scala).</p>