Data Model: Nodes and Relationships
Examples: Neo4j, OrientDB, InfiniteGraph, AllegroGraph
Used for:
Recommendations
Business intelligence
Social computing
Geospatial
Systems management
Web of things
Genealogy
Time series data
Product catalogue
Web analytics
Scientific computing (especially bioinformatics)
Indexing your slow RDBMS
What is a Graph?
An abstract representation of a set of objects where some pairs are connected by links.
Different Types of Graphs:
Undirected Graph
Directed Graph
Pseudo Graph
Multi Graph
Hyper Graph
Weighted Graph
Labeled Graph
Property Graph
Edge list in a relational model
Pros and Cons of Graph DBs
Pros:
Powerful data model, as general as RDBMS
Connected data locally indexed
Easy to query
Cons:
Sharding
Scales UP reasonably well
Requires rewiring your brain
Example of Twitter/Facebook Database
PageRank
Path Search
SPARKQL Query
RDF Triple: <subject, predicate, object>