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