1. Relational Model
    1. SQL: data is organized into relations (tables)
    2. generalize very well and dominate the industry
  2. Document Model
    1. NoSQL: started in 2009
    2. advantage over SQL
      1. easy for scale and high write throughput
      2. free and open source software
      3. specialized query operations
      4. more dynamic and expressive data model
  3. Graph Model
    1. Property Graph model
      1. vertex
        1. a unique identifier
        2. a set of outgoing edges
        3. a set of incoming edges
        4. a collection of properties (key-value pairs)
      2. edge
        1. a unique identifier
        2. the vertex at which the edge starts (the tail vertex)
        3. the vertex at which the edge ends (the head vertex)
        4. a label to describe the kind of relationship between the two vertices
        5. a collection of properties (key-value pairs)
    2. Triple-store model
      1. triple: "subject-predicate-object" model
      2. subject: vertex in a graph
      3. object
        1. a value in a primitive datatype. Equivalent to the key and value of a property on the subject vertex
        2. another vertex in the graph. The predicate is an edge in the graph and subject is the tail vertex.
    3. Neo4j and Cypher Query Language
    4. SPARQL
  4. Compare
    1. Impedance mismatch
    2. Many-to-One and Many-to-Many relations