The document discusses new opportunities for connected data using graph databases. It covers topics like data complexity, graph databases features and benefits, querying graph data, and use cases. The key points are that graph databases are well-suited for domains with dense connections and semi-structured data, allow for easy data model evolution, and enable fast querying of relationships between millions of entities.
18. Graph
Database
Benefits
Densely-‐connected,
semi-‐structured
domains
• Lots
of
join
tables?
Connectedness
• Lots
of
sparse
tables?
Semi-‐structure
Data
Model
Vola=lity
• Easy
to
evolve
Join
Complexity
and
Performance
• Millions
of
‘joins’
per
second
• Consistent
query
0mes
as
dataset
grows
#neo4j
19. Querying
Graph
Data
• A
language
for
describing
graphs
• Crea0ng
nodes,
rela0onships
and
proper0es
• Querying
data
#neo4j
38. Find
Colleagues
START me=node:users(name = "sarah")
MATCH me-[:INTERESTED_IN]->topic,
me-[:WORKS_FOR]->company,
colleague-[:INTERESTED_IN]->topic,
colleague-[:WORKS_FOR]->company
RETURN colleague.name AS name,
count(topic) AS score,
collect(topic.label) AS interests
ORDER BY score DESC
#neo4j
39. Find
Start
Node
START me=node:users(name = "sarah")
MATCH me-[:INTERESTED_IN]->topic,
me-[:WORKS_FOR]->company,
colleague-[:INTERESTED_IN]->topic,
colleague-[:WORKS_FOR]->company
RETURN colleague.name AS name,
count(topic) AS score,
collect(topic.label) AS interests
ORDER BY score DESC
#neo4j
40. Describe
Pacern
START me=node:users(name = "sarah")
MATCH me-[:INTERESTED_IN]->topic,
me-[:WORKS_FOR]->company,
colleague-[:INTERESTED_IN]->topic,
colleague-[:WORKS_FOR]->company
RETURN colleague.name AS name,
count(topic) AS score,
collect(topic.label) AS interests
ORDER BY score DESC
#neo4j
41. Construct
Results
START me=node:users(name = "sarah")
MATCH me-[:INTERESTED_IN]->topic,
me-[:WORKS_FOR]->company,
colleague-[:INTERESTED_IN]->topic,
colleague-[:WORKS_FOR]->company
RETURN colleague.name AS name,
count(topic) AS score,
collect(topic.label) AS interests
ORDER BY score DESC
#neo4j