0% found this document useful (0 votes)
33 views

Graph Databases

notes

Uploaded by

khisakipsang
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

Graph Databases

notes

Uploaded by

khisakipsang
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

NoSQL: Graph

Databases
Graph Databases

• Data Model:
• Nodes and Relationships
• Examples:
• Neo4j, OrientDB, InfiniteGraph,
AllegroGraph
Graph Databases: Pros
and Cons
• Pros:
• Powerful data model, as general as RDBMS
• Connected data locally indexed
• Easy to query
• Cons
• Sharding ( lots of people working on this)
• Scales UP reasonably well
• Requires rewiring your brain
What are graphs good 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
• And much more!
What is a Graph?

• An abstract representation of a set of


objects where some pairs are connected
Object (Vertex, Node)
by links.
Link (Edge, Arc, Relationship)
Different Kinds of Graphs

• Undirected Graph
• Directed Graph

• Pseudo Graph
• Multi Graph

• Hyper Graph
More Kinds of Graphs

• Weighted Graph

• Labeled Graph

• Property Graph
What is a Graph
Database?
• A database with an explicit graph
structure
• Each node knows its adjacent nodes
• As the number of nodes increases, the
cost of a local step (or hop) remains the
same
• Plus an Index for lookups
Relational Databases
Graph Databases
Neo4j Tips

• Each entity table is represented by a


label on nodes
• Each row in a entity table is a node
• Columns on those tables become node
properties.
• Join tables are transformed into
relationships, columns on those tables
become relationship properties
Node in Neo4j
Relationships in Neo4j

• Relationships between nodes are a key


part of Neo4j.
Relationships in Neo4j
Twitter and relationships
Properties

• Both nodes and relationships can have


properties.
• Properties are key-value pairs where the
key is a string.
• Property values can be either a
primitive or an
array of one primitive type.
For example String, int and int[] values
are valid for properties.
Properties
Paths in Neo4j

• A path is one or more nodes with connecting


relationships, typically retrieved as a query or
traversal result.
Starting and Stopping
Creating a small graph
Print the data
Remove the data
The Matrix Graph
Database

You might also like