SlideShare a Scribd company logo
Ian	
  Robinson,	
  Neo	
  Technology	
  

Graph	
  Search:	
  The	
  Power	
  of	
  
Connected	
  Data	
  
Twi$er	
  
@iansrobinson	
  
#neo4j	
  
Outline	
  
•  Data	
  complexity	
  
•  Graph	
  databases	
  –	
  features	
  and	
  benefits	
  
•  Querying	
  graph	
  data	
  
Data	
  Complexity	
  

complexity = f(size, semi-structure, connectedness)
Data	
  Complexity	
  

complexity = f(size

, semi-structure, connectedness)
Semi-­‐Structure	
  
Semi-­‐Structure	
  
USER_ID	
   FIRST_NAME	
   LAST_NAME	
  
315	
  

Ian	
  

Robinson	
  

EMAIL_1	
  

EMAIL_2	
  

ian@neotechnology.com	
   iansrobinson@gmail.com	
  

Email:	
  ian@neotechnology.com	
  
Email:	
  iansrobinson@gmail.com	
  
Twi$er:	
  @iansrobinson	
  
Skype:	
  iansrobinson	
  

0..n	
  

USER	
  

FACEBOOK	
  
NULL	
  

TWITTER	
  

SKYPE	
  

@iansrobinson	
   iansrobinson	
  

CONTACT	
  

CONTACT_TYPE	
  
Social	
  Network	
  
Network	
  Impact	
  Analysis	
  
Route	
  Finding	
  
Recommenda]ons	
  
Logis]cs	
  
Access	
  Control	
  
Fraud	
  Analysis	
  
Securi]es	
  and	
  Debt	
  

Image:	
  orgnet.com	
  
Graphs	
  Are	
  Everywhere	
  
Graph	
  Databases	
  
•  Store	
  
•  Manage	
  
•  Query	
  

data	
  
Neo4j	
  is	
  a	
  Graph	
  Database	
  
Labeled	
  Property	
  Graph	
  
The	
  Power	
  of	
  Rela]onships	
  
Connectedness	
  
•  Pre-­‐computed	
  joins	
  	
  
•  Several	
  million	
  joins	
  per	
  second	
  per	
  thread	
  per	
  
core	
  
Variable	
  Structure	
  
•  Defined	
  with	
  regard	
  to	
  node	
  instances,	
  not	
  
classes	
  of	
  nodes	
  
–  Contrast	
  with	
  rela]onal	
  schemas,	
  where	
  foreign	
  
key	
  rela]onships	
  apply	
  to	
  all	
  rows	
  in	
  a	
  table	
  
Graph	
  Database	
  Benefits	
  
“Minutes	
  to	
  milliseconds”	
  performance	
  
•  Millions	
  of	
  ‘joins’	
  per	
  second	
  
•  Consistent	
  query	
  ]mes	
  as	
  dataset	
  grows	
  
Fit	
  for	
  the	
  domain	
  
•  Lots	
  of	
  join	
  tables?	
  Connectedness	
  
•  Lots	
  of	
  sparse	
  tables?	
  Semi-­‐structure	
  
Business	
  responsiveness	
  
•  Easy	
  to	
  evolve	
  
Querying	
  Graph	
  Data	
  
•  Describing	
  graphs	
  
•  Crea]ng	
  nodes,	
  rela]onships	
  and	
  proper]es	
  
•  Querying	
  graphs	
  
How	
  to	
  Describe	
  a	
  Graph?	
  
Cypher	
  Padern	
  

(rest)<-[:HAS_SKILL]-(ben)-[:HAS_SKILL]->(neo4j),	
(ben)-[:WORKS_FOR]->(acme)
Create	
  Some	
  Data	
  
CREATE (ben:Person { name:'Ben' }),	
(acme:Company { name:'Acme' }),	
(rest:Skill { name:'REST' }),	
(neo4j:Skill= { name:'Neo4j' }),	
(ben)-[:WORKS_FOR]->(acme),	
(ben)-[:HAS_SKILL]->(rest),	
(ben)-[:HAS_SKILL]->(graphs)	
RETURN ben
Create	
  Nodes	
  
CREATE (ben:Person { name:'Ben' }),	
(acme:Company { name:'Acme' }),	
(rest:Skill { name:'REST' }),	
(neo4j:Skill= { name:'Neo4j' }),	
(ben)-[:WORKS_FOR]->(acme),	
(ben)-[:HAS_SKILL]->(rest),	
(ben)-[:HAS_SKILL]->(graphs)	
Iden]fier	
  
Proper]es	
  
RETURN ben	
Label	
  
Create	
  Rela]onships	
  
CREATE (ben:Person { name:'Ben' }),	
Iden]fier	
  
Iden]fier	
  
(acme:Company { name:'Acme' }),	
Rela]onship	
  
(rest:Skill { name:'REST' }),	
(neo4j:Skill= { name:'Neo4j' }),	
(ben)-[:WORKS_FOR]->(acme),	
(ben)-[:HAS_SKILL]->(rest),	
(ben)-[:HAS_SKILL]->(graphs)	
RETURN ben
Return	
  Node	
  
CREATE (ben:Person { name:'Ben' }),	
(acme:Company { name:'Acme' }),	
(rest:Skill { name:'REST' }),	
(neo4j:Skill= { name:'Neo4j' }),	
(ben)-[:WORKS_FOR]->(acme),	
(ben)-[:HAS_SKILL]->(rest),	
(ben)-[:HAS_SKILL]->(graphs)	
RETURN ben
Graph Search: The Power of Connected Data
Querying	
  a	
  Graph	
  
Graph	
  Local	
  
•  Find	
  one	
  or	
  more	
  start	
  nodes	
  
•  Explore	
  surrounding	
  graph	
  
•  Millions	
  of	
  hops	
  per	
  second	
  
Which	
  people,	
  who	
  work	
  for	
  the	
  same	
  
company	
  as	
  me,	
  share	
  my	
  skills?	
  
Cypher	
  Padern	
  

(company)<-[:WORKS_FOR]-(me)-[:HAS_SKILL]->(skill),	
(company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill)
Cypher	
  Query	
  
Which	
  people,	
  who	
  work	
  for	
  the	
  same	
  company	
  
as	
  me,	
  have	
  similar	
  skills	
  to	
  me?	
  
	
MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill),	
(company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill)	
WHERE me.name = 'ian'	
RETURN colleague.name AS name,	
count(skill) AS score,	
collect(skill.name) AS skills	
ORDER BY score DESC
Graph	
  Padern	
  
Which	
  people,	
  who	
  work	
  for	
  the	
  same	
  company	
  
as	
  me,	
  have	
  similar	
  skills	
  to	
  me?	
  
	
MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill),	
(company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill)	
WHERE me.name = 'ian'	
RETURN colleague.name AS name,	
count(skill) AS score,	
collect(skill.name) AS skills	
ORDER BY score DESC
Anchor	
  Padern	
  in	
  Graph	
  
Which	
  people,	
  who	
  work	
  for	
  the	
  same	
  company	
  
as	
  me,	
  have	
  similar	
  skills	
  to	
  me?	
  
	
MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill),	
(company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill)	
WHERE me.name = 'ian'	
RETURN colleague.name AS name,	
count(skill) AS score,	
collect(skill.name) AS skills	
ORDER BY score DESC	

Search	
  nodes	
  labelled	
  
‘Person’,	
  matching	
  on	
  
‘name’	
  property	
  
Create	
  Results	
  
Which	
  people,	
  who	
  work	
  for	
  the	
  same	
  company	
  
as	
  me,	
  have	
  similar	
  skills	
  to	
  me?	
  
	
MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill),	
(company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill)	
WHERE me.name = 'ian'	
RETURN colleague.name AS name,	
count(skill) AS score,	
collect(skill.name) AS skills	
ORDER BY score DESC
Graph Search: The Power of Connected Data
Results	
  
+--------------------------------------+	
| name
| score | skills
|	
+--------------------------------------+	
| "Ben"
| 2
| ["Neo4j","REST"] |	
| "Charlie" | 1
| ["Neo4j"]
|	
+--------------------------------------+	
2 rows
Case	
  Studies	
  
Network	
  Impact	
  Analysis	
  
•  Which	
  parts	
  of	
  network	
  
does	
  a	
  customer	
  
depend	
  on?	
  
•  Who	
  will	
  be	
  affected	
  if	
  
we	
  replace	
  a	
  network	
  
element?	
  
Asset	
  Management	
  &	
  Access	
  Control	
  
•  Which	
  assets	
  can	
  an	
  
admin	
  control?	
  
•  Who	
  can	
  change	
  my	
  
subscrip]on?	
  
Logis]cs	
  
•  What’s	
  the	
  quickest	
  
delivery	
  route	
  for	
  this	
  
parcel?	
  
Social	
  Network	
  &	
  Recommenda]ons	
  
•  Which	
  assets	
  can	
  I	
  
access?	
  
•  Who	
  shares	
  my	
  
interests?	
  
graphdatabases.com	
  
ts gy
en lo
i m no
pl h
m ec
Co eo T
N
of

Graph
h
Databases
Ian Robinson,
Jim Webber & Emil Eifrem

Thank	
  you	
  
@ianSrobinson	
  
ian@neotechnology.com	
  
	
  
	
  

More Related Content

PDF
Vector database
PDF
New opportunities for connected data - Ian Robinson
PDF
A NOSQL Overview And The Benefits Of Graph Databases (nosql east 2009)
PDF
Dbta Webinar Realize Value of Big Data with graph 011713
PDF
Graph Databases - Where Do We Do the Modeling Part?
PPTX
Graph Databases for SQL Server Professionals
PPT
10. Graph Databases
PPTX
NoSQL Graph Databases - Why, When and Where
Vector database
New opportunities for connected data - Ian Robinson
A NOSQL Overview And The Benefits Of Graph Databases (nosql east 2009)
Dbta Webinar Realize Value of Big Data with graph 011713
Graph Databases - Where Do We Do the Modeling Part?
Graph Databases for SQL Server Professionals
10. Graph Databases
NoSQL Graph Databases - Why, When and Where

Similar to Graph Search: The Power of Connected Data (20)

PDF
New opportunities for connected data
PDF
5.17 - IntroductionToNeo4j-allSlides_1_2022_DanMc.pdf
PDF
Tackling Complex Data with Neo4j by Ian Robinson
PDF
Data modeling with neo4j tutorial
PDF
OWF12/Java Ian robinson
PDF
Intro to Neo4j and Graph Databases
PPTX
Neo4j Training Introduction
PDF
managing big data
PDF
Webinar: RDBMS to Graphs
PDF
Neo4j GraphTalk Helsinki - Introduction and Graph Use Cases
PDF
RDBMS to Graph
PDF
Training Series - Intro to Neo4j
PDF
Intro to Neo4j 2.0
PDF
20141216 graph database prototyping ams meetup
PDF
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
PDF
Digital Transformation in a Connected World
PDF
Knowledge Graphs - The Power of Graph-Based Search
PPTX
Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018
PDF
Graph Database Use Cases - StampedeCon 2015
PDF
Graph database Use Cases
New opportunities for connected data
5.17 - IntroductionToNeo4j-allSlides_1_2022_DanMc.pdf
Tackling Complex Data with Neo4j by Ian Robinson
Data modeling with neo4j tutorial
OWF12/Java Ian robinson
Intro to Neo4j and Graph Databases
Neo4j Training Introduction
managing big data
Webinar: RDBMS to Graphs
Neo4j GraphTalk Helsinki - Introduction and Graph Use Cases
RDBMS to Graph
Training Series - Intro to Neo4j
Intro to Neo4j 2.0
20141216 graph database prototyping ams meetup
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Digital Transformation in a Connected World
Knowledge Graphs - The Power of Graph-Based Search
Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018
Graph Database Use Cases - StampedeCon 2015
Graph database Use Cases
Ad

More from Codemotion (20)

PDF
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
PDF
Pompili - From hero to_zero: The FatalNoise neverending story
PPTX
Pastore - Commodore 65 - La storia
PPTX
Pennisi - Essere Richard Altwasser
PPTX
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
PPTX
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
PPTX
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
PPTX
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
PDF
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
PDF
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
PDF
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
PDF
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
PDF
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
PDF
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
PPTX
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
PPTX
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
PDF
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
PDF
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
PDF
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
PDF
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Pompili - From hero to_zero: The FatalNoise neverending story
Pastore - Commodore 65 - La storia
Pennisi - Essere Richard Altwasser
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Ad

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
KodekX | Application Modernization Development
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Big Data Technologies - Introduction.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Programs and apps: productivity, graphics, security and other tools
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
The Rise and Fall of 3GPP – Time for a Sabbatical?
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine learning based COVID-19 study performance prediction
Understanding_Digital_Forensics_Presentation.pptx
Approach and Philosophy of On baking technology
Digital-Transformation-Roadmap-for-Companies.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
KodekX | Application Modernization Development
NewMind AI Weekly Chronicles - August'25 Week I
Big Data Technologies - Introduction.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Network Security Unit 5.pdf for BCA BBA.
“AI and Expert System Decision Support & Business Intelligence Systems”
Unlocking AI with Model Context Protocol (MCP)
Encapsulation_ Review paper, used for researhc scholars
Programs and apps: productivity, graphics, security and other tools

Graph Search: The Power of Connected Data

  • 1. Ian  Robinson,  Neo  Technology   Graph  Search:  The  Power  of   Connected  Data   Twi$er   @iansrobinson   #neo4j  
  • 2. Outline   •  Data  complexity   •  Graph  databases  –  features  and  benefits   •  Querying  graph  data  
  • 3. Data  Complexity   complexity = f(size, semi-structure, connectedness)
  • 4. Data  Complexity   complexity = f(size , semi-structure, connectedness)
  • 6. Semi-­‐Structure   USER_ID   FIRST_NAME   LAST_NAME   315   Ian   Robinson   EMAIL_1   EMAIL_2   ian@neotechnology.com   iansrobinson@gmail.com   Email:  ian@neotechnology.com   Email:  iansrobinson@gmail.com   Twi$er:  @iansrobinson   Skype:  iansrobinson   0..n   USER   FACEBOOK   NULL   TWITTER   SKYPE   @iansrobinson   iansrobinson   CONTACT   CONTACT_TYPE  
  • 14. Securi]es  and  Debt   Image:  orgnet.com  
  • 16. Graph  Databases   •  Store   •  Manage   •  Query   data  
  • 17. Neo4j  is  a  Graph  Database  
  • 19. The  Power  of  Rela]onships   Connectedness   •  Pre-­‐computed  joins     •  Several  million  joins  per  second  per  thread  per   core   Variable  Structure   •  Defined  with  regard  to  node  instances,  not   classes  of  nodes   –  Contrast  with  rela]onal  schemas,  where  foreign   key  rela]onships  apply  to  all  rows  in  a  table  
  • 20. Graph  Database  Benefits   “Minutes  to  milliseconds”  performance   •  Millions  of  ‘joins’  per  second   •  Consistent  query  ]mes  as  dataset  grows   Fit  for  the  domain   •  Lots  of  join  tables?  Connectedness   •  Lots  of  sparse  tables?  Semi-­‐structure   Business  responsiveness   •  Easy  to  evolve  
  • 21. Querying  Graph  Data   •  Describing  graphs   •  Crea]ng  nodes,  rela]onships  and  proper]es   •  Querying  graphs  
  • 22. How  to  Describe  a  Graph?  
  • 24. Create  Some  Data   CREATE (ben:Person { name:'Ben' }), (acme:Company { name:'Acme' }), (rest:Skill { name:'REST' }), (neo4j:Skill= { name:'Neo4j' }), (ben)-[:WORKS_FOR]->(acme), (ben)-[:HAS_SKILL]->(rest), (ben)-[:HAS_SKILL]->(graphs) RETURN ben
  • 25. Create  Nodes   CREATE (ben:Person { name:'Ben' }), (acme:Company { name:'Acme' }), (rest:Skill { name:'REST' }), (neo4j:Skill= { name:'Neo4j' }), (ben)-[:WORKS_FOR]->(acme), (ben)-[:HAS_SKILL]->(rest), (ben)-[:HAS_SKILL]->(graphs) Iden]fier   Proper]es   RETURN ben Label  
  • 26. Create  Rela]onships   CREATE (ben:Person { name:'Ben' }), Iden]fier   Iden]fier   (acme:Company { name:'Acme' }), Rela]onship   (rest:Skill { name:'REST' }), (neo4j:Skill= { name:'Neo4j' }), (ben)-[:WORKS_FOR]->(acme), (ben)-[:HAS_SKILL]->(rest), (ben)-[:HAS_SKILL]->(graphs) RETURN ben
  • 27. Return  Node   CREATE (ben:Person { name:'Ben' }), (acme:Company { name:'Acme' }), (rest:Skill { name:'REST' }), (neo4j:Skill= { name:'Neo4j' }), (ben)-[:WORKS_FOR]->(acme), (ben)-[:HAS_SKILL]->(rest), (ben)-[:HAS_SKILL]->(graphs) RETURN ben
  • 29. Querying  a  Graph   Graph  Local   •  Find  one  or  more  start  nodes   •  Explore  surrounding  graph   •  Millions  of  hops  per  second  
  • 30. Which  people,  who  work  for  the  same   company  as  me,  share  my  skills?  
  • 32. Cypher  Query   Which  people,  who  work  for  the  same  company   as  me,  have  similar  skills  to  me?   MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill), (company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill) WHERE me.name = 'ian' RETURN colleague.name AS name, count(skill) AS score, collect(skill.name) AS skills ORDER BY score DESC
  • 33. Graph  Padern   Which  people,  who  work  for  the  same  company   as  me,  have  similar  skills  to  me?   MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill), (company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill) WHERE me.name = 'ian' RETURN colleague.name AS name, count(skill) AS score, collect(skill.name) AS skills ORDER BY score DESC
  • 34. Anchor  Padern  in  Graph   Which  people,  who  work  for  the  same  company   as  me,  have  similar  skills  to  me?   MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill), (company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill) WHERE me.name = 'ian' RETURN colleague.name AS name, count(skill) AS score, collect(skill.name) AS skills ORDER BY score DESC Search  nodes  labelled   ‘Person’,  matching  on   ‘name’  property  
  • 35. Create  Results   Which  people,  who  work  for  the  same  company   as  me,  have  similar  skills  to  me?   MATCH (company)<-[:WORKS_FOR]-(me:Person)-[:HAS_SKILL]->(skill), (company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill) WHERE me.name = 'ian' RETURN colleague.name AS name, count(skill) AS score, collect(skill.name) AS skills ORDER BY score DESC
  • 37. Results   +--------------------------------------+ | name | score | skills | +--------------------------------------+ | "Ben" | 2 | ["Neo4j","REST"] | | "Charlie" | 1 | ["Neo4j"] | +--------------------------------------+ 2 rows
  • 39. Network  Impact  Analysis   •  Which  parts  of  network   does  a  customer   depend  on?   •  Who  will  be  affected  if   we  replace  a  network   element?  
  • 40. Asset  Management  &  Access  Control   •  Which  assets  can  an   admin  control?   •  Who  can  change  my   subscrip]on?  
  • 41. Logis]cs   •  What’s  the  quickest   delivery  route  for  this   parcel?  
  • 42. Social  Network  &  Recommenda]ons   •  Which  assets  can  I   access?   •  Who  shares  my   interests?  
  • 43. graphdatabases.com   ts gy en lo i m no pl h m ec Co eo T N of Graph h Databases Ian Robinson, Jim Webber & Emil Eifrem Thank  you   @ianSrobinson   ian@neotechnology.com