The document provides an overview of graph databases and Neo4j. It defines that a graph is made up of nodes and relationships, with nodes connected by relationships that have a direction and properties. Graph databases are useful for modeling connected or variably structured data. Neo4j is introduced as an open-source graph database with good driver support and the Cypher query language. Examples demonstrate creating nodes, relationships, and queries in Cypher.
50. What is a Graph?
•
Made up of Nodes and Relationships
•
Nodes are connected by Relationships
•
Every Relationship has ...
•
a starting and ending Node
•
a direction
•
Both Nodes and Relationships can have properties.
•
Very flexible data structure
54. Use Cases
•
Very powerful and flexible data model
•
Semantically rich - very descriptive
•
Densely-connected data sets
•
Variably Structured data sets
55. Use Cases
Situations where we need to understand
not only that somethings are connected,
but also something about those
connections.
!
e.g. strength, weight, quality
56. Use Cases
•
Communication networks
•
Medical Pathways
•
Recommendation Engines
•
Transport Network
•
Fraud rings
•
Data Center Networks
•
Access Control
•
Electricity Grids
•
Logistics Networks
•
Time series
58. Neo4j
•
ACID compliment
•
Open source - community option
•
Good driver support - REST API, .net, java, php,
ruby, python, scala, node.js, etc...
•
Has a powerful query language - Cypher
64. Cypher: Creating Nodes and Relationships
name:Gerry
CREATE (u:user {name:’Gerry’}) return u;
Node type label
65. Cypher: Creating Nodes and Relationships
name:Gerry
CREATE (u:user {name:’Gerry’}) return u;
Node type label
‘u’ is is declared and, in the context of this statement,
represents the node.