SlideShare a Scribd company logo
Querying Graphs with GraphQL
neo4j.com/developer
Property Graph Model
CAR
name: “Dan”
born: May 29, 1970
twitter: “@dan”
name: “Ann”
born: Dec 5, 1975
since:
Jan 10, 2011
brand: “Volvo”
model: “V70”
LOVES
LOVES
LIVES WITH
PERSON PERSON
Whiteboard Model Is the Physical Model
Cypher: Powerful & Expressive Graph Query Language
MATCH (:Person { name:“Dan”} ) -[:LOVES]-> (:Person { name:“Ann”} )
LOVES
Dan Ann
LABEL PROPERTY
NODE NODE
LABEL PROPERTY
Querying Graphs with GraphQL
Use Neo4j like a regular
backing database
https://launchpad.graphql.com/3wzp7qnjv
Or ... turn Neo4j into
a native GraphQL backend
1. take GraphQL query
2. transform to Cypher
3. execute against graph
4. return results
Based on ... what?
Schema!
Which schema?
Neo4j is schema-free, so:
[x] Use GraphQL Schema
Neo4j is
open source
& extensible
Let‘s build an extension
How hard can it be?
Transform + project
Query / Results
Thank you!
Introducing:
neo4j-graphql
What‘s in the box?
Basics
Endpoint with basic auth
host:port/graphql
POST schema file
run queries with params
project results
Cool Features
generate & run single graph query
auto generated mutations for types
first, offset, orderBy, @relation
lookup by any field
fragments, unlimited nesting
Power Up: @cypher
computed fields
custom mutations & queries
parameter support
Cool!
How can I use it?
npm install -g neo4j-graphql-cli
neo4j-graphql [my.schema]
Querying Graphs with GraphQL
Querying Graphs with GraphQL
Querying Graphs with GraphQL
movies.schema
Querying Graphs with GraphQL
Querying Graphs with GraphQL
add superpower
type Actor {
totalMovies:Int @cypher(statement:
"RETURN size( (this)-[:ACTED_IN]->(:Movie) ) as total")
...
type Movie {
similar:[Movie] @cypher(statement:
"MATCH (this)-->(:Genre)<--(o:Movie) RETURN o LIMIT 10")
...
type QueryType {
topRatedMovies(score:Int) [Movie] @cypher(statement:
"MATCH (m:Movie)<-[r:RATED]-(:User) WHERE r.score > $score
RETURN m, avg(r.score) as score
ORDER BY score DESC LIMIT 10")
github.com/neo4j-graphql
graphql.communitygraph.org

More Related Content

What's hot (20)

PDF
The Apollo and GraphQL Stack
Sashko Stubailo
 
PDF
Full Stack Development with Neo4j and GraphQL
Neo4j
 
PDF
Intro to GraphQL
Rakuten Group, Inc.
 
PDF
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
luisw19
 
PPTX
Introduction to GraphQL
Rodrigo Prates
 
PDF
Modular GraphQL with Schema Stitching
Sashko Stubailo
 
PDF
This week in Neo4j -13th January 2018
Neo4j
 
PDF
Adding GraphQL to your existing architecture
Sashko Stubailo
 
PPTX
An intro to GraphQL
valuebound
 
PDF
Introduction to GraphQL
Brainhub
 
PDF
Better APIs with GraphQL
Josh Price
 
PDF
GraphQL: Enabling a new generation of API developer tools
Sashko Stubailo
 
PPTX
Introduction to graphQL
Muhilvarnan V
 
PDF
GraphQL across the stack: How everything fits together
Sashko Stubailo
 
PDF
All About GRAND Stack: GraphQL, React, Apollo, and Neo4j (Mark Needham) - Gre...
GreeceJS
 
PPTX
Into to GraphQL
shobot
 
PPTX
Taking Control of your Data with GraphQL
Vinci Rufus
 
PDF
The 7 Deadly Sins of API Design
luisw19
 
PPTX
Introduction to GraphQL
Bhargav Anadkat
 
PDF
GraphQL Europe Recap
Philipp Sporrer
 
The Apollo and GraphQL Stack
Sashko Stubailo
 
Full Stack Development with Neo4j and GraphQL
Neo4j
 
Intro to GraphQL
Rakuten Group, Inc.
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
luisw19
 
Introduction to GraphQL
Rodrigo Prates
 
Modular GraphQL with Schema Stitching
Sashko Stubailo
 
This week in Neo4j -13th January 2018
Neo4j
 
Adding GraphQL to your existing architecture
Sashko Stubailo
 
An intro to GraphQL
valuebound
 
Introduction to GraphQL
Brainhub
 
Better APIs with GraphQL
Josh Price
 
GraphQL: Enabling a new generation of API developer tools
Sashko Stubailo
 
Introduction to graphQL
Muhilvarnan V
 
GraphQL across the stack: How everything fits together
Sashko Stubailo
 
All About GRAND Stack: GraphQL, React, Apollo, and Neo4j (Mark Needham) - Gre...
GreeceJS
 
Into to GraphQL
shobot
 
Taking Control of your Data with GraphQL
Vinci Rufus
 
The 7 Deadly Sins of API Design
luisw19
 
Introduction to GraphQL
Bhargav Anadkat
 
GraphQL Europe Recap
Philipp Sporrer
 

Similar to Querying Graphs with GraphQL (20)

PPTX
Neo4j graph database
Prashant Bhargava
 
PDF
Getting started with Graph Databases & Neo4j
Suroor Wijdan
 
PPTX
Neo4j Davide Francesconi
Davide Francesconi
 
PPTX
Using Neo4j from Java
Neo4j
 
PDF
Demo Neo4j - Big Data Paris
Neo4j
 
PDF
Introduction to Graphs with Neo4j
Neo4j
 
PDF
ExplorerPatcher 22621.4317.67.1 Free Download
blouch112kp
 
PDF
Office Tool Plus Free Download (Latest 2025)
shanbahikp01
 
PDF
LDPlayer Free Download (Latest version 2025)
alihamzakpa070
 
PDF
Introduction to Graph Databases.pdf
Neo4j
 
PDF
Typing Master Pro 12 Crack Updated Version
blouch86kp
 
PDF
Neo4j Introduction (Basics, Cypher, RDBMS to GRAPH)
David Fombella Pombal
 
PPTX
Introduction to Neo4j and .Net
Neo4j
 
PPTX
Neo4j Training Introduction
Max De Marzi
 
PDF
Neo4j in Depth
Max De Marzi
 
PDF
GraphQL and Neo4j - Simple and Intelligent Modern Apps
Neo4j
 
PDF
Neo4j (Part 1)
Bibhuti Regmi
 
PDF
Building Fullstack Graph Applications With Neo4j
Neo4j
 
PDF
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
barcelonajug
 
PDF
Road to NODES Workshop Series - Intro to Neo4j
Neo4j
 
Neo4j graph database
Prashant Bhargava
 
Getting started with Graph Databases & Neo4j
Suroor Wijdan
 
Neo4j Davide Francesconi
Davide Francesconi
 
Using Neo4j from Java
Neo4j
 
Demo Neo4j - Big Data Paris
Neo4j
 
Introduction to Graphs with Neo4j
Neo4j
 
ExplorerPatcher 22621.4317.67.1 Free Download
blouch112kp
 
Office Tool Plus Free Download (Latest 2025)
shanbahikp01
 
LDPlayer Free Download (Latest version 2025)
alihamzakpa070
 
Introduction to Graph Databases.pdf
Neo4j
 
Typing Master Pro 12 Crack Updated Version
blouch86kp
 
Neo4j Introduction (Basics, Cypher, RDBMS to GRAPH)
David Fombella Pombal
 
Introduction to Neo4j and .Net
Neo4j
 
Neo4j Training Introduction
Max De Marzi
 
Neo4j in Depth
Max De Marzi
 
GraphQL and Neo4j - Simple and Intelligent Modern Apps
Neo4j
 
Neo4j (Part 1)
Bibhuti Regmi
 
Building Fullstack Graph Applications With Neo4j
Neo4j
 
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
barcelonajug
 
Road to NODES Workshop Series - Intro to Neo4j
Neo4j
 
Ad

More from jexp (20)

PDF
Looming Marvelous - Virtual Threads in Java Javaland.pdf
jexp
 
PDF
Easing the daily grind with the awesome JDK command line tools
jexp
 
PDF
Looming Marvelous - Virtual Threads in Java
jexp
 
PPTX
GraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptx
jexp
 
PPTX
Neo4j Connector Apache Spark FiNCENFiles
jexp
 
PPTX
How Graphs Help Investigative Journalists to Connect the Dots
jexp
 
PPTX
The Home Office. Does it really work?
jexp
 
PDF
Polyglot Applications with GraalVM
jexp
 
PPTX
Neo4j Graph Streaming Services with Apache Kafka
jexp
 
PDF
How Graph Databases efficiently store, manage and query connected data at s...
jexp
 
PPTX
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
jexp
 
PPTX
Refactoring, 2nd Edition
jexp
 
PPTX
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
jexp
 
PPTX
A whirlwind tour of graph databases
jexp
 
PDF
Practical Graph Algorithms with Neo4j
jexp
 
PPTX
A Game of Data and GraphQL
jexp
 
PDF
Graphs & Neo4j - Past Present Future
jexp
 
PDF
Intro to Graphs and Neo4j
jexp
 
PDF
Class graph neo4j and software metrics
jexp
 
PDF
New Neo4j Auto HA Cluster
jexp
 
Looming Marvelous - Virtual Threads in Java Javaland.pdf
jexp
 
Easing the daily grind with the awesome JDK command line tools
jexp
 
Looming Marvelous - Virtual Threads in Java
jexp
 
GraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptx
jexp
 
Neo4j Connector Apache Spark FiNCENFiles
jexp
 
How Graphs Help Investigative Journalists to Connect the Dots
jexp
 
The Home Office. Does it really work?
jexp
 
Polyglot Applications with GraalVM
jexp
 
Neo4j Graph Streaming Services with Apache Kafka
jexp
 
How Graph Databases efficiently store, manage and query connected data at s...
jexp
 
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
jexp
 
Refactoring, 2nd Edition
jexp
 
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
jexp
 
A whirlwind tour of graph databases
jexp
 
Practical Graph Algorithms with Neo4j
jexp
 
A Game of Data and GraphQL
jexp
 
Graphs & Neo4j - Past Present Future
jexp
 
Intro to Graphs and Neo4j
jexp
 
Class graph neo4j and software metrics
jexp
 
New Neo4j Auto HA Cluster
jexp
 
Ad

Recently uploaded (20)

PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PDF
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
PPTX
Engineering the Java Web Application (MVC)
abhishekoza1981
 
PPTX
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PPTX
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
PPTX
Human Resources Information System (HRIS)
Amity University, Patna
 
PPTX
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
PPTX
Java Native Memory Leaks: The Hidden Villain Behind JVM Performance Issues
Tier1 app
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PDF
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PPTX
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
Engineering the Java Web Application (MVC)
abhishekoza1981
 
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
Human Resources Information System (HRIS)
Amity University, Patna
 
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
Java Native Memory Leaks: The Hidden Villain Behind JVM Performance Issues
Tier1 app
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 

Querying Graphs with GraphQL

Editor's Notes

  • #2: When we combine GraphQL
  • #3: Neo4j, an open source graph database.
  • #4: which has a graph as its core data model Nodes The objects in the graph Can have name-value properties Can be labeled Relationships Relate nodes by type and direction Can have name-value properties
  • #5: Where the database model is what is in your application and on your whiteboards
  • #6: With its own powerful graph query language: Cypher
  • #7: Neo4j and GraphQL, how would that work?
  • #14: Actually it was not that hard, b/c the underlying data model was a great fit, as is the graph schema. And we had a bit of a head start due to Rod Johnson asking me to look into GraphQL + Neo4j some time last year.
  • #15: Query transformation, language handling is easy. It runs on the JVM like Neo4j does.
  • #16: computed fields e.g. for related, content,recommendations etc.
  • #17: computed fields e.g. for related, content,recommendations etc.
  • #18: computed fields e.g. for related, content,recommendations etc.
  • #19: computed fields e.g. for related, content,recommendations etc.
  • #20: computed fields e.g. for related, content,recommendations etc.
  • #21: Easy
  • #22: Easy
  • #25: computed fields e.g. for related, content,recommendations etc.
  • #29: computed fields e.g. for related, content,recommendations etc.