title: Neo4j representation of graph - internals
body: <p>I have a question regarding how a graph in Neo4j is loaded into memory
  from disk.</p>
  
  <p>Reading the link <a href="http://www.slideshare.net/thobe/an-overview-of-neo4j-internals" rel="nofollow">here</a>, I think I understand how the graph is represented on
  disk. And when a new Neo4j databases is created, there are 
  physically separate files created for Nodes, Edges and Property
  stores (mainly).</p>
  
  <p>When you issue a query to Neo4j, does it:</p>
  
  <p>1) Load the entire graph(nodes, edges, properties) in memory using a
  doubly link list structure?</p>
  
  <p>OR</p>
  
  <p>2) Determine the nodes, edges required for the query and populate the
  list structure with random accessess to the relavant stores(nodes,
  edges) on disk? If so, how does Neo4j minimize the number of disk-accesses?</p>