Neo4j
Introduction Workshop
for Partners
Agenda
1. What is a graph database?
2. The Neo4j differences
3. Graph database concepts
4. GDS, GenAI, 7 graphs in an enterprise
Neo4j Inc. All rights reserved 2023
2
M. Arif Wicaksana
Sales Engineer
arif@neo4j.com
What is
a graph database?
Neo4j Inc. All rights reserved 2023
3
What is Graph?
Neo4j Inc. All rights reserved 2023
4
This is a Graph
Mathematical and Data structures used
to model pairwise relations between
objects
This is a Graph Database
A database technology that stores, queries
and computes data in the shape of graphs
Not This Graph
Creator of the Labeled Property Graph
Anything can be a graph
A water molecule
H
O
H
The metro
Social media
Neo4j Inc. All rights reserved 2023
5
Relationships connect
nodes and represent
actions
Relationships can have
properties
(key:value pairs)
Relationships
are directional
Nodes represent
objects
Nodes can have
properties
The power of the
graph model
Graph is fast
Response
Time
Better
Performance
Number of Hops
Relational DB
Graph DB
Graph is flexible
Employees
Network & Security
Suppliers
Product
Customers
Finance
Process
Graph is insightful
What’s unusual?
What’s important?
What’s next?
The Neo4j Differences
Neo4j Inc. All rights reserved 2023
10
Neo4j Inc. All rights reserved 2023
11
300
$1B+ Enterprise
customers
$500M
In funding
170+
Global Partner
Ecosystem
250K
Community of
developers and
data pros
100M+
Downloads
The first-ever
graph
database
Creator of the
market
category
Continued
market leader
is enterprise-grade
No limit on
the database
size, only
depending on
your
infrastructure
ACID and
OLAP,
Capture
Data
Change,
Backups and
Restore…
TB Graphs
with
sharding
Integrations
with
On Premise
or any
cloud:
any
workload SSO, SSL
Encryption
Complete
RBAC
framework
Ops
Manager
Neo4j
Databases
Management
Tool
Graph
algorithms
Unified DB for analytical
& operational workloads
is enterprise-grade
Up to
Vertical
scaling
Guaranteed
Uptime
SLA
TB Graphs
with
sharding
Integrations
with
Any cloud.
Any
workload
Encrypted
data
SOC2
Type 2
HIPAA
compliant
Graph
algorithms
Unified DB for analytical
& operational workloads
Neo4j Graph Database Capabilities
Neo4j Inc. All rights reserved 2023
14
Engineering Expertise
>1000 person-years investment
First mover advantage
Maturity, Most enterprise deployments
Largest graph community
Growing at 80%+ annually
Hybrid
Workloads
Native Graph
Architecture
Powers Graph
Data Science
Rich
Toolset
Enterprise
Trust &
Security
Runs
Anywhere
Graph Applications
(System of Record Applications)
Application Stack
Real-time Messaging & Processing
(Clickstream, IOT, CDC etc)
Developer
Intelligent apps
Data Analyst
Query and analyze
Biz Analyst
Visual Analytics
Data Scientist
Algorithms and features
Data engineer
Get clean, useful data
ML Engineer
ML Ops
Data Platform
(Data Platforms-Snowflake, BigQuery,
Databricks, Elastic)
AI/ML Ops
BI Platforms
Graph Analytics & Visualizations
(Real-time applications, visualizations
and algorithms)
Powered by
How does Neo4j fit in?
Modern Enterprise Data Platform
15
Neo4j’s knowledge
graph platform
augments existing
enterprise data
investments by
providing unique and
valuable business
insights through
efficient, large-scale
analyses of
relationships hidden
in your data
Graph Database
Concepts
Neo4j Inc. All rights reserved 2023
16
© 2023 Neo4j, Inc. All rights reserved.
NATIVE GRAPH ARCHITECTURE: FAST, FLEXIBLE, SCALABLE
Native Graph Database Native Graph Storage
✔ No model mismatch
✔ Data integrity with ACID
✔ Flexible schema
Native Graph Processing
✔ 1000x faster than relational
✔ Easy-to-use, native graph query language
Scalable sharded Clusters
✔ Autonomous Clustering
✔ Unlimited high throughput
✔ Elastic scale-out to 100s
of machines across clusters
✔ Federated queries of scaled out shards
✔ Instant composite database
At write time
Data is connected
as it is stored
At read time
Lightning-fast retrieval of data and
relationships via pointer chasing
17
Graph Enables:
1. More sophisticated queries (you can
ask questions that were previously
impossible)
2. Real-time applications and insight (get
your complex queries answered in
milliseconds)
3. Better Data Science (running graph
algorithms on contextualized,
connected data leads to better AI &
ML outcomes)
4. Future-proof applications (it takes
minutes, not months to change your
schema)
Performance Leads to Significantly More Value
Neo4j Inc. All rights reserved 2023
18
SQL Joins–using Pkey Indexes
Neo4j Inc. All rights reserved 2024
19
Orders
OrderItems
OrderItems PK index
{Order_num, Item_num}
<m
<f5
>c11
<d112
Order_num=e1234567
<e4
>e120
Products
Products PK index
{product_num}
Manufacturer
Retailer
6 IO’s traversing the index
(plus a few if leaf is >1 page)
(do 6 times – 1 for each row)
7 IO’s traversing the index
(plus a few if leaf is >1 page)
5 IO’s traversing the index
(plus a few if leaf is >1 page)
(do 6 times – 1 for each row)
5 IO’s traversing the index
(plus a few if leaf is >1 page)
(do 6 times – 1 for each row)
1 outer row + 7 index + 6 inner rows + 6(6 index + 1 row) +
6(5 index + 1 row) + 6(5 index + 1) row = 128 IO’s
Neo4j Inc. All rights reserved 2024
20
Orders
OrderItems
<m
<f5
>c11
<d112
<e4
>e120
Products
-[:ORDERED_PRODUCT]🡪
Manufacturer
Retailer
1 outer node + 6 inner nodes + 6(p nodes) + 6(m nodes)
+ 6 (r nodes) = 25 IO’s
Neo4j Graph Traversals (Index Free Adjacency)
1 direct pointer
1 direct pointer
Order_num=e1234567
6 direct pointers 1 direct pointer
-[:HAS_ITEMS]🡪 -[:MADE_BY]🡪
-[:SOLD_BY]🡪
© 2023 Neo4j, Inc. All rights reserved.
Only 20 indexes were required to deliver
millisecond response time at scale.
In contrast to Neo4j’s graph model, a relational
database approach would have an
entity-relationship diagram with over 150
tables and 300 to 400 indexes (not including
primary keys) for the same questions and
dataset. The relational model would also
require hundreds of indexes to deliver much
slower query-response times measured in
minutes or hours.
Reference:
https://neo4j.com/blog/combating-money-laundering-sprints-with-money-queries/
Labelled property graph
Neo4j Inc. All rights reserved 2023
22
Toy
Story
Toy
Story
Nodes represent things
Toy
Story
Movie
Nodes represent things
Toy
Story
Movie
Nodes can be identified by
one or more labels
Nodes represent things
Toy
Story
Movie
Animated
Nodes can be identified by
one or more labels
Nodes represent things
Toy
Story
Movie
Animated
Nodes can be identified by
one or more labels
title: Toy Story
released: 1995
Nodes represent things
Toy
Story
Movie
Animated
Nodes can be identified by
one or more labels
title: Toy Story
released: 1995
Nodes represent things
Nodes can hold properties
as key/value pairs
Toy
Story
Movie
Tom
Hanks
Actor
Toy
Story
Movie
Toy
Story
Movie
Tom
Hanks
Actor
Toy
Story
Movie
Tom
Hanks
Actor
Relationships connect two nodes
Toy
Story
Movie
Tom
Hanks
Actor
Relationships connect two nodes
ACTED_IN
Toy
Story
Movie
Tom
Hanks
Actor
Relationships connect two nodes
ACTED_IN
Relationships
have a type
Toy
Story
Movie
Tom
Hanks
Actor
Relationships connect two nodes
ACTED_IN
Relationships
have a type
Relationships
have a direction
Toy
Story
Movie
Tom
Hanks
Actor
Relationships connect two nodes
ACTED_IN
roles: Woody
Relationships
have a type
Relationships
have a direction
Toy
Story
Movie
Tom
Hanks
Actor
Relationships connect two nodes
ACTED_IN
roles: Woody
Relationships
have a type
Relationships can also
hold properties as
key/value pairs
Relationships
have a direction
Toy
Story
Movie
ACTED_IN
Tom
Hanks
Actor
Introduction to Cypher
42
GQL ISO Standard Published -April 2024
● Establishes GQL as the official,
internationally accepted
graph query language
● Founded on Neo4j’s Cypher language
● First ISO data query language
certification since SQL in 1987
● Drives enterprise graph adoption,
vendor interoperability, graph R&D,
foundational skilling and technical
ubiquity
https://neo4j.com/press-releases/gql-standard/
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Movie
ACTED_IN
Person
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
Cypher is a declarative language that allows you
to identify patterns in your data using an
ASCII-art style syntax consisting of brackets,
dashes and arrows.
Movie
ACTED_IN
Person
(p:Person)-[r:ACTED_IN]->(m:Movie)
Creating a Neo4j
Sandbox
Neo4j Inc. All rights reserved 2023
55
Neo4j Inc. All rights reserved 2024
56
https://sandbox.neo4j.com/
Free, Easy and Fast!
New user ? Existing user ?
Neo4j Inc. All rights reserved 2024
57
Pick your project
Neo4j Inc. All rights reserved 2024
58
Many options…
Some are Blanks for your
own dataset
Some have Graph Data
Science (GDS) activated
Some have GraphQL
activated
Neo4j Inc. All rights reserved 2024
59
Pick the Top Right: Graph Data Science
You should see your
project and have a file
with credentials
downloaded
Neo4j Inc. All rights reserved 2024
60
All available in one click
See all the details and
the access to the Neo4j
tools
See the links for
Documentation and
GraphAcademy
Neo4j Inc. All rights reserved 2024
61
Let’s try it…
Reading
Reading from Neo4j
// Find a pattern in the database
MATCH (p:Person)-[r:ACTED_IN]->(m:Movie)
Reading from Neo4j
// Find a pattern in the database
MATCH (p:Person)-[r:ACTED_IN]->(m:Movie)
// Filter on a node property
WHERE m.title = "Toy Story"
// Find a pattern in the database
MATCH (p:Person)-[r:ACTED_IN]->(m:Movie)
// Filter on a node property
WHERE m.title = "Toy Story"
// Choose what to return
RETURN p.name AS actor, r.roles AS roles
Reading from Neo4j
// Find a pattern in the database SQL Equivalent
MATCH (p:Person)-[r:ACTED_IN]->(m:Movie) FROM/JOIN
// Filter on a node property
WHERE m.title = "Toy Story" WHERE
// Choose what to return
RETURN p.name AS actor, r.roles AS roles SELECT
Reading from Neo4j
MATCH p=(n:Actor)-[:ACTED_IN]-(:Movie)-[:LOCATED_AT]-(:Country)
WHERE n.name=’’
RETURN p
Have a go!
1. Find a Movie you
like.
2. Use the ACTED_IN
relationship to find
who acted in the
movie.
3. Use the DIRECTED
relationship to find
who directed the
movie
MATCH (m:Movie) RETURN m.title
MATCH (m:Movie {title: “???”})-[:??????]->(p:Person)
RETURN p.name
MATCH (m:Movie {title: “???”})-[:??????]->(p:Person)
RETURN p.name
Writing
Writing to Neo4j
// Find or create using MERGE
MERGE (p:Person {name: "Tom Hanks"})
Writing to Neo4j
// Find or create using MERGE
MERGE (p:Person {name: "Tom Hanks"})
MERGE (m:Movie {title: "Toy Story"})
Writing to Neo4j
// Find or create using MERGE
MERGE (p:Person {name: "Tom Hanks"})
MERGE (m:Movie {title: "Toy Story"})
MERGE (p)-[r:ACTED_IN]->(m)
Writing to Neo4j
// Find or create using MERGE
MERGE (p:Person {name: "Tom Hanks"})
MERGE (m:Movie {title: "Toy Story"})
MERGE (p)-[r:ACTED_IN]->(m)
SET r.roles = "Woody"
1. Create a Person
node for yourself
2. Give yourself a role
in a movie by
creating an
ACTED_IN
relationship
3. Find your role in the
movie
Have a go!
MERGE (me:Person{name: “??????”})
MATCH (me:Person{name: “??????”})
MATCH (m:Movie{title: “??????”})
MERGE (me)-[r:??????]->(m)
SET r.role = “???????”
MATCH (p:Person{name:”??????”})-[r:ACTED_IN]->(????)
RETURN ?.?????
Graph Data Modeling
Nouns, Verbs and Adjectives
Neo4j Inc. All rights reserved 2024
78
AS A
Customer
I WOULD LIKE TO
Order a new Laptop and accessories
SO THAT I CAN
Build a website using a graph database
Nouns, Verbs and Adjectives
Neo4j Inc. All rights reserved 2024
79
AS A
Customer
I WOULD LIKE TO
Order a new Laptop and accessories
SO THAT I CAN
Build a website using a graph database
Product.
Nouns, Verbs and Adjectives
Neo4j Inc. All rights reserved 2024
80
AS A
Customer
I WOULD LIKE TO
Order a new Laptop and accessories
SO THAT I CAN
Build a website using a graph database
Product.
Nouns, Verbs and Adjectives
Neo4j Inc. All rights reserved 2024
81
AS A
Customer
I WOULD LIKE TO
Order a new Laptop and accessories
SO THAT I CAN
Build a website using a graph database
Product.
Intermediate Nodes
Neo4j Inc. All rights reserved 2024
82
Intermediate Nodes
Neo4j Inc. All rights reserved 2024
83
Knowing this fact might be
enough for your use case
Intermediate Nodes
Neo4j Inc. All rights reserved 2024
84
Knowing this fact might be
enough for your use case
Intermediate Nodes
Neo4j Inc. All rights reserved 2024
85
Knowing this fact might be
enough for your use case
The order
information can
now be linked
to multiple
nodes
The Northwind Database
The Northwind Database
© 2022 Neo4j, Inc. All rights reserved.
Relational
to Graph
© 2022 Neo4j, Inc. All rights reserved.
Relational
to Graph
Table names become
labels, individual records
become nodes
© 2022 Neo4j, Inc. All rights reserved.
Relational
to Graph
Foreign keys become
relationships
(:Supplier)-[:SUPPLIES]->(:Product)
(:Customer)-[:PURCHASED]->(:Order)
(:Shipper)-[:SHIPS]->(:Order)
© 2022 Neo4j, Inc. All rights reserved.
The Northwind
Database
Many-to-Many
Relationships
© 2022 Neo4j, Inc. All rights reserved.
The Northwind
Database
Many-to-Many
Relationships
© 2022 Neo4j, Inc. All rights reserved.
The Northwind
Database
Many-to-Many
Relationships
© 2022 Neo4j, Inc. All rights reserved.
The Northwind
Database
Many-to-Many
Relationships
��
© 2022 Neo4j, Inc. All rights reserved.
The Northwind
Database
Many-to-Many
Relationships
Order
C
O
N
T
A
I
N
S
PRODUCT
© 2022 Neo4j, Inc. All rights reserved.
The Northwind
Database
Many-to-Many
Relationships
Order
C
O
N
T
A
I
N
S
PRODUCT
u
n
i
t
P
r
i
c
e
:
n
u
m
b
e
r
q
u
a
n
t
i
t
y
:
n
u
m
b
e
r
d
i
s
c
o
u
n
t
:
f
l
o
a
t
RDBMS to Graph in summary…
Neo4j Inc. All rights reserved 2023
97
Relational
Rows
Joins
Table Names
Columns
Graph
Nodes
Relationships
Labels
Properties
© 2022 Neo4j, Inc. All rights reserved.
Property, Relationship or Node - it depends…
© 2022 Neo4j, Inc. All rights reserved.
Property, Relationship or Node - it depends…
{
"customer": {
"CustomerID": "ALFKI",
"CompanyName": "Alfreds Futterkiste",
"ContactName": "Maria Anders",
"ContactTitle": "Sales Representative",
"Phone": "030-0074321",
"Fax": "030-0076545",
"email": "maria.anders@alfreds.de"
},
"address": {
"Address": "Obere Str. 57",
"City": "Berlin",
"Region": null,
"PostalCode": "12209",
"Country": "Germany"
},
"order": {
"OrderID": 10248,
"CustomerID": "ALFKI",
"EmployeeID": 5,
"OrderDate": "1996-07-04T00:00:00",
"RequiredDate": "1996-08-01T00:00:00",
"ShippedDate": "1996-07-16T00:00:00",
"ShipVia": 3,
"Freight": 32.38,
"ShipName": "Alfreds Futterkiste",
"ShipAddress": {
"Address": "Obere Str. 57",
"City": "Berlin",
"Region": null,
"PostalCode": "12209",
"Country": "Germany"
}
}
}
© 2022 Neo4j, Inc. All rights reserved.
● Many databases will duplicate data for
read-time performance
● Address is read-only? Store as a property
● Are billing and shipping addresses saved as
part of the checkout process? Store in a Node
● Are offers served to first-time customers that
are limited by address? Store in a Node
● Is the graph used to optimise delivery routes?
Store as a Node
Property, Relationship or Node - it depends…
{
"customer": {
"CustomerID": "ALFKI",
"CompanyName": "Alfreds Futterkiste",
"ContactName": "Maria Anders",
"ContactTitle": "Sales Representative",
"Phone": "030-0074321",
"Fax": "030-0076545",
"email": "maria.anders@alfreds.de"
},
"address": {
"Address": "Obere Str. 57",
"City": "Berlin",
"Region": null,
"PostalCode": "12209",
"Country": "Germany"
},
"order": {
"OrderID": 10248,
"CustomerID": "ALFKI",
"EmployeeID": 5,
"OrderDate": "1996-07-04T00:00:00",
"RequiredDate": "1996-08-01T00:00:00",
"ShippedDate": "1996-07-16T00:00:00",
"ShipVia": 3,
"Freight": 32.38,
"ShipName": "Alfreds Futterkiste",
"ShipAddress": {
"Address": "Obere Str. 57",
"City": "Berlin",
"Region": null,
"PostalCode": "12209",
"Country": "Germany"
}
}
}
Introduction to
Graph Data Science (GDS)
Graph Data Science: make sense of data relationships
Neo4j Inc. All rights reserved 2024
102
Machine Learning Pipeline
Pl
ay
s
Lives_in
In_sport
Likes
F
a
n
_
o
f
Plays_for
K
n
o
w
s
Knows
Knows
K
n
o
w
s
Explore the hidden patterns and features in your data
What’s important? What’s unusual? What’s next?
Graph and Data Science
Neo4j Inc. All rights reserved 2024
103
Knowledge Graphs
Graph Algorithms
Graph Native
Machine Learning
Find the patterns you’re
looking for in connected data
Use machine learning
techniques to identify
associations, anomalies, and
trends.
Learn the features in your
graph that you don’t even
know are important yet.
Train in-graph supervised ML
models to predict links,
labels, and missing data.
Graph Algorithms
Neo4j Inc. All rights reserved 2024
105
Example: Graph Algorithms for Detecting Fraud
Graph algorithms enable reasoning
about network structure
Neo4j Inc. All rights reserved 2024
106
Example: Graph Algorithms for Detecting Fraud
Connected components
identify disjointed group
sharing identifiers
Neo4j Inc. All rights reserved 2024
107
Example: Graph Algorithms for Detecting Fraud
PageRank to measure influence
and transaction volumes
Neo4j Inc. All rights reserved 2024
108
Example: Graph Algorithms for Detecting Fraud
Louvain to identify
communities that frequently
interact
Neo4j Inc. All rights reserved 2024
109
Example: Graph Algorithms for Detecting Fraud
Jaccard to measure account
similarity
75+ Graph Data Science Techniques in Neo4j
Neo4j Inc. All rights reserved 2023
110
Pathfinding &
Search
• Shortest Path
• Single-Source Shortest Path
• All Pairs Shortest Path
• A* Shortest Path
• Yen’s K Shortest Path
• Minimum Weight Spanning Tree
• K-Spanning Tree (MST)
• Random Walk
• Breadth & Depth First Search
Centrality &
Importance
• Degree Centrality
• Closeness Centrality
• Harmonic Centrality
• Betweenness Centrality & Approx.
• PageRank
• Personalized PageRank
• ArticleRank
• Eigenvector Centrality
• Hyperlink Induced Topic Search (HITS)
• Influence Maximization (Greedy, CELF)
Community
Detection
• Triangle Count
• Local Clustering Coefficient
• Connected Components (Union Find)
• Strongly Connected Components
• Label Propagation
• Louvain Modularity
• K-1 Coloring
• Modularity Optimization
• Speaker Listener Label Propagation
Supervised
Machine Learning
• Node Classification
• Link Prediction
… and more!
Heuristic Link
Prediction
• Adamic Adar
• Common Neighbors
• Preferential Attachment
• Resource Allocations
• Same Community
• Total Neighbors
Similarity
• Node Similarity
• K-Nearest Neighbors (KNN)
• Jaccard Similarity
• Cosine Similarity
• Pearson Similarity
• Euclidean Distance
• Approximate Nearest Neighbors (ANN)
Graph
Embeddings
• Node2Vec
• FastRP
• FastRPExtended
• GraphSAGE
• Synthetic Graph Generation
• Scale Properties
• Collapse Paths
• One Hot Encoding
• Split Relationships
• Graph Export
• Pregel API (write your own algos)
https://neo4j.com/docs/graph-data-science/current/algorithms/
Neo4j Inc. All rights reserved 2024
111
Graph Data Science Use Case Areas
Recommendations
• Personalized Recommendation
• Recommendation Engine
• Market & Customer Segmentation
• Next Best Action
Fraud & Anomaly Detection
• Risk & Safety Scoring
• First/Second/Third Party Fraud & AML
• Criminal & Other Investigative Analytics
Logistics / Supply Chain
• Performance Prediction & Analytics
• Routing & Path Finding
• Identifying Alternatives
• Risk Assessment & Dependency Mapping
Customer 360
• Entity Resolution & Master Data
Management (MDM)
• Customer Journey
Neo4j Inc. All rights reserved 2024
112
When Do I Need Graph Algorithms?
Query (e.g. Cypher/Python)
Real-time, local decisioning
and pattern matching
Graph Algorithms
Global analysis
and iterations
You know what you’re looking
for and making a decision
You’re learning the overall structure of a
network, updating data, and predicting
Local
Patterns
Global
Computation
Graph Machine Learning
Going back to basics…
Unsupervised ML
• Unlabelled data
• Data driven
• Pattern identification
Supervised ML
• Labeled data
• Task driven
• Value predicting
Machine Learning
Unsupervised
Clustering
Dimension Reduction
(generalization)
Association
Data is not labeled at all Data is labeled or categorized
Divide by
similarity
Identify
sequences
Find hidden
dependencies
Stack similar clothing
Find clothes often
worn together
Make best outfit from given clothes
Supervised
Classification
Regression
Predict a
number
Predict a
category
Predict the length
of a sock
Predict if an outfit is
fancy or casual
Going back to basics…
Unsupervised ML
• Unlabelled data
• Data driven
• Pattern identification
• Graph algorithms
Supervised ML
• Labeled data
• Task driven
• Value predicting
Community
Detection
Machine Learning
Unsupervised
Clustering
Dimension Reduction
(generalization)
Association
Data is not labeled at all Data is labeled or categorized
Divide by
similarity
Identify
sequences
Find hidden
dependencies
Which parts of my graph are
connected to each other?
Which nodes are
most similar?
How important is each node?
Supervised
Classification
Regression
Predict a
number
Predict a
category
What’s the property value
for this node?
What type of node
is this?
Centrality
embeddings
Similarity
pathfinding
How to use GDS
Mutable In-Memory Workspace
Computational Graph
Native Graph Store
Neo4j Inc. All rights reserved 2023
117
GDS General Query
Neo4j Inc. All rights reserved 2023
118
GDS Mode
Neo4j Inc. All rights reserved 2023
119
• Stream
Returns the result of the algorithm as a stream of records.
• Stats
Returns a single record of summary statistics but does not
write to the Neo4j database or modify any data.
• Mutate
Writes the results of the algorithm to the in-memory graph
projection and returns a single record of summary statistics.
• Write
Writes the results of the algorithm back the Neo4j database
and returns a single record of summary statistics.
GDS Projection Types
Neo4j Inc. All rights reserved 2023
120
• Native projections
Optimized for efficiency and performance to support graph data science at scale (Best practices).
Example:
CALL gds.graph.project('native-proj',['User', 'Movie'], ['RATED']);
• Cypher projections
Optimized for flexibility and customization to support exploratory analysis, experimentation, and
smaller graph projections. Example:
CALL gds.graph.project.cypher(
'proj-cypher',
'MATCH (a:Actor) RETURN id(a) AS id, labels(a) AS labels',
'MATCH (a1:Actor)-[:ACTED_IN]->(m:Movie)<-[:ACTED_IN]-(a2)
WHERE m.year >= 1990 AND m.revenue >= 1000000
RETURN id(a1) AS source , id(a2) AS target, count(*) AS actedWithCount,
"ACTED_WITH" AS type'
);
How to use GDS
Neo4j Inc. All rights reserved 2023
121
GDS is delivered as a library and a plugin to
Neo4j Desktop,
…or you can practice using it easily with the
Neo4j Sandbox.
Neo4j + GenAI
Why RAG With Vector Databases Fall Short
1
3
2
4
Similarity is insufficient for rich enterprise reasoning
Only leverage a fraction of
your data: Beyond simple
“metadata”, vector databases
alone fail to capture relationships
from structured data
Miss critical context: Struggle to
capture connections across
nuanced facts, making it
challenging to answer multi-step,
domain-specific, questions
Vector Similarity ≠ Relevance:
Vector search uses an incomplete
measure of similarity. Relying on it
solely can result in irrelevant and
duplicative results
Lack explainability:
The black-box nature of
vectors lacks transparency
and explainability
123 Neo4j Inc. All rights reserved 2024
GenAI
Language
Statistics
Creativity
KGs
Knowledge
Facts
Context
Accurate
Contextual
Explainable
Knowledge graphs unlock GenAI
Neo4j Inc. All rights reserved 2023
125
RAG with Neo4j
Find similar documents
and content
Identify entities associated
to content and patterns
in connected data
Improve GenAI inferences
and insights. Discover new
relationships and entities
Unify vector search, knowledge graph and data science
capabilities to improve RAG quality and effectiveness
Vector Search Data Science
Knowledge
Graph
126 Neo4j Inc. All rights reserved 2023
Improve Context
with Facts from a
Knowledge Graph
Combine native vector search with
multi-hop graph traversals to add
domain-specific context from a
knowledge graph
Incorporate hybrid retrieval, including
text search and lookups based off date,
numeric, and geopoint indexes
127 Neo4j Inc. All rights reserved 2024
Use graph patterns to rank and
score vector search results
based on domain knowledge
Retrieve more refined results
to power better personalized
LLM Responses
from langchain.vectorstores.neo4j_vector import
Neo4jVector
kg_personalized_search =
Neo4jVector.from_existing_index(
embedding=embedding_model,
url=NEO4J_URI,username=NEO4J_USERNAME,password=NEO4J_PA
SSWORD,
index_name='product-text-embeddings',
retrieval_query=f"""
WITH node AS product, score AS vectorSearchScore
OPTIONAL MATCH
(product) [:VARIANT_OF]-(:Article) [:PURCHASED]-
(:Customer)-[:PURCHASED] (a:Article) [:PURCHASED]-
(:Customer {{customerId: ' {CUSTOMER_ID }'}})
WITH count(a) AS purchaseScore,
RETURN
""")
Enhance
Personalization
and Quality
Expand Insights and
Inferences Using
Data Science and ML
Neo4j Inc. All rights reserved 2023
128
Quickly incorporate context from
structured data in RAG vector search
using Neo4j graph embeddings with a
native vector index
Deeper insights for AI by enriching
your knowledge graph with link
prediction, community detection, and
classification using graph algorithms
and machine learning
Largest Catalog of Graph
Algorithms
Native Graph
Analytics Workspace
Graph Embeddings for
Enhanced Retrieval
Interactive application to construct
knowledge graphs from PDF, youtube
transcripts etc.
Hosted on
llm-graph-builder.neo4jlabs.com
Documentation
neo4j.com/labs/genai-ecosystem/llm-graph-builder
LLM Graph Builder
Application
Neo4j Inc. All rights reserved 2024
GraphRAG examples
GraphRAG with AWS
https://github.com/neo4j-partners/neo4j-generative-ai-aws
GraphRAG -H&M Personalized Fashion Recommendations
https://github.com/neo4j-product-examples/genai-workshop
7 Graphs in an Enterprise
Neo4j Inc. All rights reserved 2023
131
Employees
Network & Security
Suppliers
Product
Customers
Transactions
Process
Model your data
like your business
Employees
Network & Security
Suppliers
Product
Process
Seven Graphs in
an Enterprise
Transactions
Customers
Customer
Information
History
Payments
Customers
Uncover patterns in your
Recommendations
Loyalty Programs
Churn Prevention
Customer Offers
Dynamic Pricing
Intelligent Ads
Customer Data
Customer
Information
Payments
Recommendations
Loyalty Programs
Churn Prevention
Customer Offers
Dynamic Pricing
Intelligent Ads
Uncover patterns in your
History
95%
improvement in
first-call resolution
12%
increase in
Customer satisfaction
Customers
Customer Data
Uncover patterns in your
Payments
Product
Transactions
Customer
Invoices
Anti-money Laundering
Digital Payment Scams
Credit Risk Assessment
Claims Fraud
Credit Fraud
Transactions Data
Uncover patterns in your
Payments
Product
Transactions
Anti-money Laundering
Digital Payment Scams
Credit Risk Assessment
Claims Fraud
Credit Fraud
Invoices
60%
Reduction in
infrastructure cost
69%
Improvement in
query response time
Transactions Data
Customer
Uncover patterns in your
Inventory
Pricing
Reviews
Product
Product Recommendations
New Product Introductions
Product Customizations
Product Inventory
Product Pricing
Product Data
Uncover patterns in your
Inventory
Pricing
Reviews
Product
Product Recommendations
New Product Introductions
Product Customizations
Product Inventory
Product Pricing
Just-in-time
Price calculations for
customized products, flexible
pricing strategies without
hard-coding use cases
Product Data
Uncover patterns in your
Assets Location
Access
Patterns
Network & Security
Identity & Access 360
Identity Resolution
Reputation Scoring
Threat Detection
Zero Trust
Network & Security
Uncover patterns in your
Assets Location
Access
Patterns
4 min
to determine
blast radius
Used to take hours
or even days
100M
Customers
Protected
Network & Security
Identity & Access 360
Identity Resolution
Reputation Scoring
Threat Detection
Zero Trust
Network & Security
Supplier
Inventory
Product
Uncover patterns in your
Suppliers
Route Planning & Optimization
Real-time Supply Chain Visibility
Inventory Planning
Risk Analysis
Suppliers Data
Supplier
Inventory
Product
Uncover patterns in your
10%
Reduction in
traffic
congestion
$1500
time saving per
driver
$750m/yr
Savings
Suppliers
Suppliers Data
Route Planning & Optimization
Real-time Supply Chain Visibility
Inventory Planning
Risk Analysis
Resources
Activity
Events
Process
Bottleneck Identification
Process Improvement
Process Automation
Process Monitoring
Uncover patterns in your
Process Data
Resources
Activity
Events
Process
Bottleneck Identification
Process Improvement
Process Automation
Process Monitoring
Uncover patterns in your
83%
reduction in
query time to
quickly pinpoint
root cause of
problems
Process Data
https://neo4j.com/case-studies/boston-scientific/
Uncover patterns in your
Employee
Skill
s
Rol
e
Talent Learning & Development
Career Management
Orgs (who is who)
Career Development
Employees
Employee Data
Uncover patterns in your
Employees
Employee
Rol
e
Skill
s
Talent Learning & Development
Career Management
Orgs (who is who)
Career Development
5 min
From 1-2 days to enable
informed decision
making in workforce
management
Employee Data
Talent Learning & Development
Career Management
Orgs (who is who)
Career Development
Identity & Access 360
Identity Resolution
Reputation Scoring
Threat Detection
Zero Trust
Route Planning & Optimization
Real-time Supply Chain Visibility
Inventory Planning
Risk Analysis
Product Recommendations
New Product Introductions
Product Customizations
Product Inventory
Product Pricing
Bottleneck Identification
Process Improvement
Process Automation
Process Monitoring
Recommendations
Loyalty Programs
Churn Prevention
Customer Offers
Dynamic Pricing
Intelligent Ads
Anti-money Laundering
Digital Payment Scams
Credit Risk Assessment
Claims Fraud
Credit Fraud
Network & Security
Suppliers
Product
Customers
Transactions
Process
Connect your graphs
to drive transformation
Employees
Cypher in Action
Neo4j Inc. All rights reserved 2023
149
Let’s explore!
sandbox.neo4j.com
Scroll-down to:
New Project
Recommendations
Create
Question?
Neo4j Inc. All rights reserved 2023
151
Neo4j Community Training
https://graphacademy.neo4j.com/
152
GenAI Resources
153
Exploring ChatGPT for Learning, Code, Data, NLP & Fun
Create Neo4j Database Model with ChatGPT
ChatGPT and Neo4j for Creating and Importing Sample Datasets
Doctor.ai+GPT-3+Kendra = An Ensemble Chatbot for Healthcare
Creating a Knowledge Graph From Video Transcripts With ChatGPT
Context-Aware Knowledge Graph Chatbot With GPT-4 and Neo4j
Generating Company Recommendations using LLMs & Knowledge Graphs
Integrating Neo4j into the LangChain ecosystem
Fine-tuning an LLM model with H2O LLM Studio to generate Cypher statements
Generating Cypher Queries With ChatGPT 4 on Any Graph Schema
ChatGPT Generated Star Wars Data: Let's Explore With Neo4j
LangChain has added Cypher Search
Knowledge Graphs & LLMs: Harnessing Large Language Models with Neo4j
Jump into Graph: Creating Mock Data to get started with Graph Databases
Neo4j Live: GraphGPT
OpenAI API Access - APOC Extended Documentation
LangChain Cypher Search: Tips & Tricks
Neo4j Integrations with Generative AI Features in Google Cloud Vertex AI
Neo4j Knowledge Graphs and Google Generative AI
Integrate LLM workflows with Knowledge Graph using Neo4j and APOC
Unifying Large Language Models and Knowledge Graphs: A Roadmap
Neo4j’s Role in Fueling Generative AI with Graph Technology
Knowledge Graphs & LLMs: Fine-Tuning Vs. Retrieval-Augmented Generation
Knowledge Graphs & LLMs: Multi-Hop Question Answering
Neo4j Knowledge Graphs and Google Generative AI
Personal Movie Recommendation Agent with GPT4 + Neo4j
https://github.com/neo4j-partners/neo4j-generative-ai-aws
https://github.com/neo4j-partners/neo4j-generative-ai-azure
https://github.com/neo4j-partners/neo4j-generative-ai-google-cloud
https://github.com/neo4j-partners/intelligent-app-from-videos-google-generativeai-neo4j
https://github.com/docker/genai-stack
Neo4j Professional Training
Neo4j Fundamentals
● Graphs and Graph Databases
● Basic Cypher Querying
Neo4j Developer Certification
● Data Management with Cypher
● Intermediate Cypher Querying
● Graph Data Modeling
● Data Management: Import &
Governance
● Cypher Query Tuning
Neo4j Data Scientist Certification
● Graph Data Modeling
● Data Management: Import &
Governance
● GDS Foundations
● GDS Algorithms
● GDS Monitoring & Administration
● Intro to Bloom & NeoDash
Neo4j Administrator Certification
● Basic Neo4j Administration
● Graph Dev Ops
We offer both self-paced and
instructor-led training for:
● Developers
● Data Scientists
● DBAs
Premium, in-depth content
used to train Neo4j
Professional Services
resources. Made available to
customers through a paid
subscription.
154
Thank you!
name.name@neotechnology.com
Neo4j Inc. All rights reserved 2023
155
156
General Technical ecosystem
CI/CD
using: Jenkins, Github, ...
BI Tools:
e.g. Tableau, Tibco Spotfire, Qlik, …
Data Integration
Cypher Import-Bulk Import-Neo4j Data Loader
Custom API’s (Java/Python/GrapQL)-most common ETL tools (Apache HOP, KNIME, Glue, ..) -streaming data (Kafka, MQ)
-NLP: HUME, Python
Out of the box GUI:
- Neo4j Bloom
- NeoDash
- Neo4j Browser
- Linkurious
- Graphileon
- Semspect Neo4j BI Connector
Data Sources
Standard types: structured (cvs, xls, JSON, XML, RDF...) or unstructured (.doc, .pdf, …)
Data modeling
Cypher Workbench,
Arrows, Gra.fo, Yed,
Hackolade
Install/Config
Clustering, sharding, fabric
Cloud Platforms, Kubernetes, Docker
Custom GUI:
- JS: Angular, React, NodeJs, VueJs
- Java
- Structr
Drivers
Java, Python, JS, C#
Admin
using: Halin, Grafana, ...
API’s
Java, Python,GraphQL
Cypher
dev, tuning
APOC
dev, usage (Java)
GDS/NLP
dev, usage
Security
RBAC, SSO, custom Plugins
Neo4j Inc. All rights reserved 2023
156
Neo4j CE vs Aura/EE
Neo4j Inc. All rights reserved 2023
157
Start learning Neo4j
158
● Community edition (GPLv3),
Developer license
● Open-source software
● Built for testing and learning
● Features for Developer adoption
● Commercial license under subscription
agreement
● Closed-source software
● Built for production workloads
● Features for app owners, operational
teams, developers
Production
applications
$
Drivers and API
Transactions
and Querying
Limited analytics
capabilities
Developers
Admins
Development &
Administration
Community Edition users are graph-aware
potential enterprise customers
Buy & Deploy in Prod.
Neo4j Inc. All rights reserved 2023
Risks of using open-source software
159
Operationally
Inefficient ● Manual backups & upgrades; Downtime due to Db failure
Lack of Neo4j
prod. expertise
● Cannot implement best practices for performance
● Cannot scale analytical and transactional workloads
Neo4j Inc. All rights reserved 2023
● No vendor oversight on source code and limited
security evaluation
Security
Copy left
obligations
● Legal implications of using open-source for proprietary
software
Who needs Commercial License?
160
Need to reduce security risk while managing confidential data
Need high availability of database for critical applications
Need to achieve performance for large-scale applications
Strategic priority to move to SaaS for IT stack
● Need to safeguard competitive advantage using closed-source license
● Need professional support for project success and access to productivity tools
Neo4j Inc. All rights reserved 2023
Who is the right customer for Aura and
Enterprise Edition?
AURA Enterprise
● AWS/ Azure/ GCP/ multi-cloud customer
● Need a SaaS solution
● Require fault tolerance and SLA for
uptime
● Fully Managed
161
Enterprise Edition
● Strategic choice to not migrate to
cloud (regulatory limitations)
● Need horizontal scaling with
federated queries on DB
secondaries
● Multiple DBs
Aura empowers enterprises with a highly secure,
reliable, and performant database for production
Operational
Reliability
Enterprise-
grade
Security
Performance
at Scale
Premium Support for project success
300+ Neo4j Engineers
162
Neo4j Inc. All rights reserved 2023
163
Ensure Data security and integrity
User access
control
Production-
certified and
compliant
Neo4j Inc. All rights reserved 2023
Encryption and
isolation
mechanisms
● Role based access control
● Single sign-on
● Brute force protection
● Schema-based access control
● Cypher constraints
● Data encryption (at rest, intransit)
● Intra-cluster SSL encryption
● Customer managed encryption key
● Isolated DB in VPC network with
private link
● Security evaluation of Neo4j code
(extensive testing to ensure
runtime quality)
● Vulnerability scanning
● 3rd party penetration tests
● SOC2, ISO27001, GDPR, HIPAA
Operationally reliable database for production
Neo4j Inc. All rights reserved 2023
164
Efficient DB operations with
premium support
Highly Available for Critical Apps
● 99.95% uptime with 3-server cluster
● Store back-ups across multiple
availability zones
● Backup without downtime using online
back-ups
● Point in time recovery by creating
instance from a snapshot
● Automate upgrades with no server
downtime and manual effort
● Easy to clone and pause database using
Aura console
● Tune database with visibility into metrics
through a built-in dashboard
● 24x7x365 Support from Neo4j engineers
165
Faster response times for analytical
queries (Parallel Runtime)
Trigger actions in response to
DB events (Change Data
Capture)
Monitor query performance and
error scenarios
(query logs)
Faster data retrieval with improved resource
utilization (block data format)
Improve
performance
and take
action
Improve
productivity
Visualize and explore connected data
(Bloom); collaborate with other users
Quickly upload data from multiple sources
using simple UI-tool (Data importer)
Performance at scale for queries and productivity
for users
Neo4j Inc. All rights reserved 2023
High performance with increasing complexity and
volume of interconnected data
166
Scalable Architecture: Flexibility to vertically scale up and down Aura DB instances
I
High efficiency data ingress/ egress: export large volume of vectorized graph
data (Apache Arrow integration)
Run algorithms faster: Expand the threads for computation beyond 4 CPUs (up
to 82 CPUs)
Additional functionality in Enterprise Edition
Scale out database beyond 34 billion nodes
Partition graph across multiple databases
Retrieve data from disjointed and common graphs on multiple databases with Cypher
Scale out the read workloads by adding a new secondary server to the cluster
Multiple databases in a single account with server side routing for high availability and scalability
Neo4j Inc. All rights reserved 2023
Scale GDS by reducing memory footprint and enabling some algorithms to run faster (BitIdMap
in-memory implementation)

Neo4j Introduction Workshop for Partners

  • 1.
  • 2.
    Agenda 1. What isa graph database? 2. The Neo4j differences 3. Graph database concepts 4. GDS, GenAI, 7 graphs in an enterprise Neo4j Inc. All rights reserved 2023 2 M. Arif Wicaksana Sales Engineer arif@neo4j.com
  • 3.
    What is a graphdatabase? Neo4j Inc. All rights reserved 2023 3
  • 4.
    What is Graph? Neo4jInc. All rights reserved 2023 4 This is a Graph Mathematical and Data structures used to model pairwise relations between objects This is a Graph Database A database technology that stores, queries and computes data in the shape of graphs Not This Graph Creator of the Labeled Property Graph
  • 5.
    Anything can bea graph A water molecule H O H The metro Social media Neo4j Inc. All rights reserved 2023 5
  • 6.
    Relationships connect nodes andrepresent actions Relationships can have properties (key:value pairs) Relationships are directional Nodes represent objects Nodes can have properties The power of the graph model
  • 7.
  • 8.
  • 9.
    Employees Network & Security Suppliers Product Customers Finance Process Graphis insightful What’s unusual? What’s important? What’s next?
  • 10.
    The Neo4j Differences Neo4jInc. All rights reserved 2023 10
  • 11.
    Neo4j Inc. Allrights reserved 2023 11 300 $1B+ Enterprise customers $500M In funding 170+ Global Partner Ecosystem 250K Community of developers and data pros 100M+ Downloads The first-ever graph database Creator of the market category Continued market leader
  • 12.
    is enterprise-grade No limiton the database size, only depending on your infrastructure ACID and OLAP, Capture Data Change, Backups and Restore… TB Graphs with sharding Integrations with On Premise or any cloud: any workload SSO, SSL Encryption Complete RBAC framework Ops Manager Neo4j Databases Management Tool Graph algorithms Unified DB for analytical & operational workloads
  • 13.
    is enterprise-grade Up to Vertical scaling Guaranteed Uptime SLA TBGraphs with sharding Integrations with Any cloud. Any workload Encrypted data SOC2 Type 2 HIPAA compliant Graph algorithms Unified DB for analytical & operational workloads
  • 14.
    Neo4j Graph DatabaseCapabilities Neo4j Inc. All rights reserved 2023 14 Engineering Expertise >1000 person-years investment First mover advantage Maturity, Most enterprise deployments Largest graph community Growing at 80%+ annually Hybrid Workloads Native Graph Architecture Powers Graph Data Science Rich Toolset Enterprise Trust & Security Runs Anywhere
  • 15.
    Graph Applications (System ofRecord Applications) Application Stack Real-time Messaging & Processing (Clickstream, IOT, CDC etc) Developer Intelligent apps Data Analyst Query and analyze Biz Analyst Visual Analytics Data Scientist Algorithms and features Data engineer Get clean, useful data ML Engineer ML Ops Data Platform (Data Platforms-Snowflake, BigQuery, Databricks, Elastic) AI/ML Ops BI Platforms Graph Analytics & Visualizations (Real-time applications, visualizations and algorithms) Powered by How does Neo4j fit in? Modern Enterprise Data Platform 15 Neo4j’s knowledge graph platform augments existing enterprise data investments by providing unique and valuable business insights through efficient, large-scale analyses of relationships hidden in your data
  • 16.
    Graph Database Concepts Neo4j Inc.All rights reserved 2023 16
  • 17.
    © 2023 Neo4j,Inc. All rights reserved. NATIVE GRAPH ARCHITECTURE: FAST, FLEXIBLE, SCALABLE Native Graph Database Native Graph Storage ✔ No model mismatch ✔ Data integrity with ACID ✔ Flexible schema Native Graph Processing ✔ 1000x faster than relational ✔ Easy-to-use, native graph query language Scalable sharded Clusters ✔ Autonomous Clustering ✔ Unlimited high throughput ✔ Elastic scale-out to 100s of machines across clusters ✔ Federated queries of scaled out shards ✔ Instant composite database At write time Data is connected as it is stored At read time Lightning-fast retrieval of data and relationships via pointer chasing 17
  • 18.
    Graph Enables: 1. Moresophisticated queries (you can ask questions that were previously impossible) 2. Real-time applications and insight (get your complex queries answered in milliseconds) 3. Better Data Science (running graph algorithms on contextualized, connected data leads to better AI & ML outcomes) 4. Future-proof applications (it takes minutes, not months to change your schema) Performance Leads to Significantly More Value Neo4j Inc. All rights reserved 2023 18
  • 19.
    SQL Joins–using PkeyIndexes Neo4j Inc. All rights reserved 2024 19 Orders OrderItems OrderItems PK index {Order_num, Item_num} <m <f5 >c11 <d112 Order_num=e1234567 <e4 >e120 Products Products PK index {product_num} Manufacturer Retailer 6 IO’s traversing the index (plus a few if leaf is >1 page) (do 6 times – 1 for each row) 7 IO’s traversing the index (plus a few if leaf is >1 page) 5 IO’s traversing the index (plus a few if leaf is >1 page) (do 6 times – 1 for each row) 5 IO’s traversing the index (plus a few if leaf is >1 page) (do 6 times – 1 for each row) 1 outer row + 7 index + 6 inner rows + 6(6 index + 1 row) + 6(5 index + 1 row) + 6(5 index + 1) row = 128 IO’s
  • 20.
    Neo4j Inc. Allrights reserved 2024 20 Orders OrderItems <m <f5 >c11 <d112 <e4 >e120 Products -[:ORDERED_PRODUCT]🡪 Manufacturer Retailer 1 outer node + 6 inner nodes + 6(p nodes) + 6(m nodes) + 6 (r nodes) = 25 IO’s Neo4j Graph Traversals (Index Free Adjacency) 1 direct pointer 1 direct pointer Order_num=e1234567 6 direct pointers 1 direct pointer -[:HAS_ITEMS]🡪 -[:MADE_BY]🡪 -[:SOLD_BY]🡪
  • 21.
    © 2023 Neo4j,Inc. All rights reserved. Only 20 indexes were required to deliver millisecond response time at scale. In contrast to Neo4j’s graph model, a relational database approach would have an entity-relationship diagram with over 150 tables and 300 to 400 indexes (not including primary keys) for the same questions and dataset. The relational model would also require hundreds of indexes to deliver much slower query-response times measured in minutes or hours. Reference: https://neo4j.com/blog/combating-money-laundering-sprints-with-money-queries/
  • 22.
    Labelled property graph Neo4jInc. All rights reserved 2023 22
  • 24.
  • 25.
  • 26.
  • 27.
    Toy Story Movie Nodes can beidentified by one or more labels Nodes represent things
  • 28.
    Toy Story Movie Animated Nodes can beidentified by one or more labels Nodes represent things
  • 29.
    Toy Story Movie Animated Nodes can beidentified by one or more labels title: Toy Story released: 1995 Nodes represent things
  • 30.
    Toy Story Movie Animated Nodes can beidentified by one or more labels title: Toy Story released: 1995 Nodes represent things Nodes can hold properties as key/value pairs
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
    Toy Story Movie Tom Hanks Actor Relationships connect twonodes ACTED_IN Relationships have a type
  • 37.
    Toy Story Movie Tom Hanks Actor Relationships connect twonodes ACTED_IN Relationships have a type Relationships have a direction
  • 38.
    Toy Story Movie Tom Hanks Actor Relationships connect twonodes ACTED_IN roles: Woody Relationships have a type Relationships have a direction
  • 39.
    Toy Story Movie Tom Hanks Actor Relationships connect twonodes ACTED_IN roles: Woody Relationships have a type Relationships can also hold properties as key/value pairs Relationships have a direction
  • 40.
  • 41.
  • 42.
    42 GQL ISO StandardPublished -April 2024 ● Establishes GQL as the official, internationally accepted graph query language ● Founded on Neo4j’s Cypher language ● First ISO data query language certification since SQL in 1987 ● Drives enterprise graph adoption, vendor interoperability, graph R&D, foundational skilling and technical ubiquity https://neo4j.com/press-releases/gql-standard/
  • 43.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows. Movie ACTED_IN Person (p:Person)-[r:ACTED_IN]->(m:Movie)
  • 44.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows.
  • 45.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows.
  • 46.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows. Movie ACTED_IN Person
  • 47.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows. Movie ACTED_IN Person (p:Person)-[r:ACTED_IN]->(m:Movie)
  • 48.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows. Movie ACTED_IN Person (p:Person)-[r:ACTED_IN]->(m:Movie)
  • 49.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows. Movie ACTED_IN Person (p:Person)-[r:ACTED_IN]->(m:Movie)
  • 50.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows. Movie ACTED_IN Person (p:Person)-[r:ACTED_IN]->(m:Movie)
  • 51.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows. Movie ACTED_IN Person (p:Person)-[r:ACTED_IN]->(m:Movie)
  • 52.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows. Movie ACTED_IN Person (p:Person)-[r:ACTED_IN]->(m:Movie)
  • 53.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows. Movie ACTED_IN Person (p:Person)-[r:ACTED_IN]->(m:Movie)
  • 54.
    Cypher is adeclarative language that allows you to identify patterns in your data using an ASCII-art style syntax consisting of brackets, dashes and arrows. Movie ACTED_IN Person (p:Person)-[r:ACTED_IN]->(m:Movie)
  • 55.
    Creating a Neo4j Sandbox Neo4jInc. All rights reserved 2023 55
  • 56.
    Neo4j Inc. Allrights reserved 2024 56 https://sandbox.neo4j.com/ Free, Easy and Fast! New user ? Existing user ?
  • 57.
    Neo4j Inc. Allrights reserved 2024 57 Pick your project
  • 58.
    Neo4j Inc. Allrights reserved 2024 58 Many options… Some are Blanks for your own dataset Some have Graph Data Science (GDS) activated Some have GraphQL activated
  • 59.
    Neo4j Inc. Allrights reserved 2024 59 Pick the Top Right: Graph Data Science You should see your project and have a file with credentials downloaded
  • 60.
    Neo4j Inc. Allrights reserved 2024 60 All available in one click See all the details and the access to the Neo4j tools See the links for Documentation and GraphAcademy
  • 61.
    Neo4j Inc. Allrights reserved 2024 61 Let’s try it…
  • 62.
  • 63.
    Reading from Neo4j //Find a pattern in the database MATCH (p:Person)-[r:ACTED_IN]->(m:Movie)
  • 64.
    Reading from Neo4j //Find a pattern in the database MATCH (p:Person)-[r:ACTED_IN]->(m:Movie) // Filter on a node property WHERE m.title = "Toy Story"
  • 65.
    // Find apattern in the database MATCH (p:Person)-[r:ACTED_IN]->(m:Movie) // Filter on a node property WHERE m.title = "Toy Story" // Choose what to return RETURN p.name AS actor, r.roles AS roles Reading from Neo4j
  • 66.
    // Find apattern in the database SQL Equivalent MATCH (p:Person)-[r:ACTED_IN]->(m:Movie) FROM/JOIN // Filter on a node property WHERE m.title = "Toy Story" WHERE // Choose what to return RETURN p.name AS actor, r.roles AS roles SELECT Reading from Neo4j
  • 67.
  • 69.
    Have a go! 1.Find a Movie you like. 2. Use the ACTED_IN relationship to find who acted in the movie. 3. Use the DIRECTED relationship to find who directed the movie MATCH (m:Movie) RETURN m.title MATCH (m:Movie {title: “???”})-[:??????]->(p:Person) RETURN p.name MATCH (m:Movie {title: “???”})-[:??????]->(p:Person) RETURN p.name
  • 70.
  • 71.
    Writing to Neo4j //Find or create using MERGE MERGE (p:Person {name: "Tom Hanks"})
  • 72.
    Writing to Neo4j //Find or create using MERGE MERGE (p:Person {name: "Tom Hanks"}) MERGE (m:Movie {title: "Toy Story"})
  • 73.
    Writing to Neo4j //Find or create using MERGE MERGE (p:Person {name: "Tom Hanks"}) MERGE (m:Movie {title: "Toy Story"}) MERGE (p)-[r:ACTED_IN]->(m)
  • 74.
    Writing to Neo4j //Find or create using MERGE MERGE (p:Person {name: "Tom Hanks"}) MERGE (m:Movie {title: "Toy Story"}) MERGE (p)-[r:ACTED_IN]->(m) SET r.roles = "Woody"
  • 76.
    1. Create aPerson node for yourself 2. Give yourself a role in a movie by creating an ACTED_IN relationship 3. Find your role in the movie Have a go! MERGE (me:Person{name: “??????”}) MATCH (me:Person{name: “??????”}) MATCH (m:Movie{title: “??????”}) MERGE (me)-[r:??????]->(m) SET r.role = “???????” MATCH (p:Person{name:”??????”})-[r:ACTED_IN]->(????) RETURN ?.?????
  • 77.
  • 78.
    Nouns, Verbs andAdjectives Neo4j Inc. All rights reserved 2024 78 AS A Customer I WOULD LIKE TO Order a new Laptop and accessories SO THAT I CAN Build a website using a graph database
  • 79.
    Nouns, Verbs andAdjectives Neo4j Inc. All rights reserved 2024 79 AS A Customer I WOULD LIKE TO Order a new Laptop and accessories SO THAT I CAN Build a website using a graph database Product.
  • 80.
    Nouns, Verbs andAdjectives Neo4j Inc. All rights reserved 2024 80 AS A Customer I WOULD LIKE TO Order a new Laptop and accessories SO THAT I CAN Build a website using a graph database Product.
  • 81.
    Nouns, Verbs andAdjectives Neo4j Inc. All rights reserved 2024 81 AS A Customer I WOULD LIKE TO Order a new Laptop and accessories SO THAT I CAN Build a website using a graph database Product.
  • 82.
    Intermediate Nodes Neo4j Inc.All rights reserved 2024 82
  • 83.
    Intermediate Nodes Neo4j Inc.All rights reserved 2024 83 Knowing this fact might be enough for your use case
  • 84.
    Intermediate Nodes Neo4j Inc.All rights reserved 2024 84 Knowing this fact might be enough for your use case
  • 85.
    Intermediate Nodes Neo4j Inc.All rights reserved 2024 85 Knowing this fact might be enough for your use case The order information can now be linked to multiple nodes
  • 86.
  • 87.
  • 88.
    © 2022 Neo4j,Inc. All rights reserved. Relational to Graph
  • 89.
    © 2022 Neo4j,Inc. All rights reserved. Relational to Graph Table names become labels, individual records become nodes
  • 90.
    © 2022 Neo4j,Inc. All rights reserved. Relational to Graph Foreign keys become relationships (:Supplier)-[:SUPPLIES]->(:Product) (:Customer)-[:PURCHASED]->(:Order) (:Shipper)-[:SHIPS]->(:Order)
  • 91.
    © 2022 Neo4j,Inc. All rights reserved. The Northwind Database Many-to-Many Relationships
  • 92.
    © 2022 Neo4j,Inc. All rights reserved. The Northwind Database Many-to-Many Relationships
  • 93.
    © 2022 Neo4j,Inc. All rights reserved. The Northwind Database Many-to-Many Relationships
  • 94.
    © 2022 Neo4j,Inc. All rights reserved. The Northwind Database Many-to-Many Relationships ��
  • 95.
    © 2022 Neo4j,Inc. All rights reserved. The Northwind Database Many-to-Many Relationships Order C O N T A I N S PRODUCT
  • 96.
    © 2022 Neo4j,Inc. All rights reserved. The Northwind Database Many-to-Many Relationships Order C O N T A I N S PRODUCT u n i t P r i c e : n u m b e r q u a n t i t y : n u m b e r d i s c o u n t : f l o a t
  • 97.
    RDBMS to Graphin summary… Neo4j Inc. All rights reserved 2023 97 Relational Rows Joins Table Names Columns Graph Nodes Relationships Labels Properties
  • 98.
    © 2022 Neo4j,Inc. All rights reserved. Property, Relationship or Node - it depends…
  • 99.
    © 2022 Neo4j,Inc. All rights reserved. Property, Relationship or Node - it depends… { "customer": { "CustomerID": "ALFKI", "CompanyName": "Alfreds Futterkiste", "ContactName": "Maria Anders", "ContactTitle": "Sales Representative", "Phone": "030-0074321", "Fax": "030-0076545", "email": "maria.anders@alfreds.de" }, "address": { "Address": "Obere Str. 57", "City": "Berlin", "Region": null, "PostalCode": "12209", "Country": "Germany" }, "order": { "OrderID": 10248, "CustomerID": "ALFKI", "EmployeeID": 5, "OrderDate": "1996-07-04T00:00:00", "RequiredDate": "1996-08-01T00:00:00", "ShippedDate": "1996-07-16T00:00:00", "ShipVia": 3, "Freight": 32.38, "ShipName": "Alfreds Futterkiste", "ShipAddress": { "Address": "Obere Str. 57", "City": "Berlin", "Region": null, "PostalCode": "12209", "Country": "Germany" } } }
  • 100.
    © 2022 Neo4j,Inc. All rights reserved. ● Many databases will duplicate data for read-time performance ● Address is read-only? Store as a property ● Are billing and shipping addresses saved as part of the checkout process? Store in a Node ● Are offers served to first-time customers that are limited by address? Store in a Node ● Is the graph used to optimise delivery routes? Store as a Node Property, Relationship or Node - it depends… { "customer": { "CustomerID": "ALFKI", "CompanyName": "Alfreds Futterkiste", "ContactName": "Maria Anders", "ContactTitle": "Sales Representative", "Phone": "030-0074321", "Fax": "030-0076545", "email": "maria.anders@alfreds.de" }, "address": { "Address": "Obere Str. 57", "City": "Berlin", "Region": null, "PostalCode": "12209", "Country": "Germany" }, "order": { "OrderID": 10248, "CustomerID": "ALFKI", "EmployeeID": 5, "OrderDate": "1996-07-04T00:00:00", "RequiredDate": "1996-08-01T00:00:00", "ShippedDate": "1996-07-16T00:00:00", "ShipVia": 3, "Freight": 32.38, "ShipName": "Alfreds Futterkiste", "ShipAddress": { "Address": "Obere Str. 57", "City": "Berlin", "Region": null, "PostalCode": "12209", "Country": "Germany" } } }
  • 101.
  • 102.
    Graph Data Science:make sense of data relationships Neo4j Inc. All rights reserved 2024 102 Machine Learning Pipeline Pl ay s Lives_in In_sport Likes F a n _ o f Plays_for K n o w s Knows Knows K n o w s Explore the hidden patterns and features in your data What’s important? What’s unusual? What’s next?
  • 103.
    Graph and DataScience Neo4j Inc. All rights reserved 2024 103 Knowledge Graphs Graph Algorithms Graph Native Machine Learning Find the patterns you’re looking for in connected data Use machine learning techniques to identify associations, anomalies, and trends. Learn the features in your graph that you don’t even know are important yet. Train in-graph supervised ML models to predict links, labels, and missing data.
  • 104.
  • 105.
    Neo4j Inc. Allrights reserved 2024 105 Example: Graph Algorithms for Detecting Fraud Graph algorithms enable reasoning about network structure
  • 106.
    Neo4j Inc. Allrights reserved 2024 106 Example: Graph Algorithms for Detecting Fraud Connected components identify disjointed group sharing identifiers
  • 107.
    Neo4j Inc. Allrights reserved 2024 107 Example: Graph Algorithms for Detecting Fraud PageRank to measure influence and transaction volumes
  • 108.
    Neo4j Inc. Allrights reserved 2024 108 Example: Graph Algorithms for Detecting Fraud Louvain to identify communities that frequently interact
  • 109.
    Neo4j Inc. Allrights reserved 2024 109 Example: Graph Algorithms for Detecting Fraud Jaccard to measure account similarity
  • 110.
    75+ Graph DataScience Techniques in Neo4j Neo4j Inc. All rights reserved 2023 110 Pathfinding & Search • Shortest Path • Single-Source Shortest Path • All Pairs Shortest Path • A* Shortest Path • Yen’s K Shortest Path • Minimum Weight Spanning Tree • K-Spanning Tree (MST) • Random Walk • Breadth & Depth First Search Centrality & Importance • Degree Centrality • Closeness Centrality • Harmonic Centrality • Betweenness Centrality & Approx. • PageRank • Personalized PageRank • ArticleRank • Eigenvector Centrality • Hyperlink Induced Topic Search (HITS) • Influence Maximization (Greedy, CELF) Community Detection • Triangle Count • Local Clustering Coefficient • Connected Components (Union Find) • Strongly Connected Components • Label Propagation • Louvain Modularity • K-1 Coloring • Modularity Optimization • Speaker Listener Label Propagation Supervised Machine Learning • Node Classification • Link Prediction … and more! Heuristic Link Prediction • Adamic Adar • Common Neighbors • Preferential Attachment • Resource Allocations • Same Community • Total Neighbors Similarity • Node Similarity • K-Nearest Neighbors (KNN) • Jaccard Similarity • Cosine Similarity • Pearson Similarity • Euclidean Distance • Approximate Nearest Neighbors (ANN) Graph Embeddings • Node2Vec • FastRP • FastRPExtended • GraphSAGE • Synthetic Graph Generation • Scale Properties • Collapse Paths • One Hot Encoding • Split Relationships • Graph Export • Pregel API (write your own algos) https://neo4j.com/docs/graph-data-science/current/algorithms/
  • 111.
    Neo4j Inc. Allrights reserved 2024 111 Graph Data Science Use Case Areas Recommendations • Personalized Recommendation • Recommendation Engine • Market & Customer Segmentation • Next Best Action Fraud & Anomaly Detection • Risk & Safety Scoring • First/Second/Third Party Fraud & AML • Criminal & Other Investigative Analytics Logistics / Supply Chain • Performance Prediction & Analytics • Routing & Path Finding • Identifying Alternatives • Risk Assessment & Dependency Mapping Customer 360 • Entity Resolution & Master Data Management (MDM) • Customer Journey
  • 112.
    Neo4j Inc. Allrights reserved 2024 112 When Do I Need Graph Algorithms? Query (e.g. Cypher/Python) Real-time, local decisioning and pattern matching Graph Algorithms Global analysis and iterations You know what you’re looking for and making a decision You’re learning the overall structure of a network, updating data, and predicting Local Patterns Global Computation
  • 113.
  • 114.
    Going back tobasics… Unsupervised ML • Unlabelled data • Data driven • Pattern identification Supervised ML • Labeled data • Task driven • Value predicting Machine Learning Unsupervised Clustering Dimension Reduction (generalization) Association Data is not labeled at all Data is labeled or categorized Divide by similarity Identify sequences Find hidden dependencies Stack similar clothing Find clothes often worn together Make best outfit from given clothes Supervised Classification Regression Predict a number Predict a category Predict the length of a sock Predict if an outfit is fancy or casual
  • 115.
    Going back tobasics… Unsupervised ML • Unlabelled data • Data driven • Pattern identification • Graph algorithms Supervised ML • Labeled data • Task driven • Value predicting Community Detection Machine Learning Unsupervised Clustering Dimension Reduction (generalization) Association Data is not labeled at all Data is labeled or categorized Divide by similarity Identify sequences Find hidden dependencies Which parts of my graph are connected to each other? Which nodes are most similar? How important is each node? Supervised Classification Regression Predict a number Predict a category What’s the property value for this node? What type of node is this? Centrality embeddings Similarity pathfinding
  • 116.
  • 117.
    Mutable In-Memory Workspace ComputationalGraph Native Graph Store Neo4j Inc. All rights reserved 2023 117
  • 118.
    GDS General Query Neo4jInc. All rights reserved 2023 118
  • 119.
    GDS Mode Neo4j Inc.All rights reserved 2023 119 • Stream Returns the result of the algorithm as a stream of records. • Stats Returns a single record of summary statistics but does not write to the Neo4j database or modify any data. • Mutate Writes the results of the algorithm to the in-memory graph projection and returns a single record of summary statistics. • Write Writes the results of the algorithm back the Neo4j database and returns a single record of summary statistics.
  • 120.
    GDS Projection Types Neo4jInc. All rights reserved 2023 120 • Native projections Optimized for efficiency and performance to support graph data science at scale (Best practices). Example: CALL gds.graph.project('native-proj',['User', 'Movie'], ['RATED']); • Cypher projections Optimized for flexibility and customization to support exploratory analysis, experimentation, and smaller graph projections. Example: CALL gds.graph.project.cypher( 'proj-cypher', 'MATCH (a:Actor) RETURN id(a) AS id, labels(a) AS labels', 'MATCH (a1:Actor)-[:ACTED_IN]->(m:Movie)<-[:ACTED_IN]-(a2) WHERE m.year >= 1990 AND m.revenue >= 1000000 RETURN id(a1) AS source , id(a2) AS target, count(*) AS actedWithCount, "ACTED_WITH" AS type' );
  • 121.
    How to useGDS Neo4j Inc. All rights reserved 2023 121 GDS is delivered as a library and a plugin to Neo4j Desktop, …or you can practice using it easily with the Neo4j Sandbox.
  • 122.
  • 123.
    Why RAG WithVector Databases Fall Short 1 3 2 4 Similarity is insufficient for rich enterprise reasoning Only leverage a fraction of your data: Beyond simple “metadata”, vector databases alone fail to capture relationships from structured data Miss critical context: Struggle to capture connections across nuanced facts, making it challenging to answer multi-step, domain-specific, questions Vector Similarity ≠ Relevance: Vector search uses an incomplete measure of similarity. Relying on it solely can result in irrelevant and duplicative results Lack explainability: The black-box nature of vectors lacks transparency and explainability 123 Neo4j Inc. All rights reserved 2024
  • 124.
  • 125.
    Neo4j Inc. Allrights reserved 2023 125 RAG with Neo4j Find similar documents and content Identify entities associated to content and patterns in connected data Improve GenAI inferences and insights. Discover new relationships and entities Unify vector search, knowledge graph and data science capabilities to improve RAG quality and effectiveness Vector Search Data Science Knowledge Graph
  • 126.
    126 Neo4j Inc.All rights reserved 2023 Improve Context with Facts from a Knowledge Graph Combine native vector search with multi-hop graph traversals to add domain-specific context from a knowledge graph Incorporate hybrid retrieval, including text search and lookups based off date, numeric, and geopoint indexes
  • 127.
    127 Neo4j Inc.All rights reserved 2024 Use graph patterns to rank and score vector search results based on domain knowledge Retrieve more refined results to power better personalized LLM Responses from langchain.vectorstores.neo4j_vector import Neo4jVector kg_personalized_search = Neo4jVector.from_existing_index( embedding=embedding_model, url=NEO4J_URI,username=NEO4J_USERNAME,password=NEO4J_PA SSWORD, index_name='product-text-embeddings', retrieval_query=f""" WITH node AS product, score AS vectorSearchScore OPTIONAL MATCH (product) [:VARIANT_OF]-(:Article) [:PURCHASED]- (:Customer)-[:PURCHASED] (a:Article) [:PURCHASED]- (:Customer {{customerId: ' {CUSTOMER_ID }'}}) WITH count(a) AS purchaseScore, RETURN """) Enhance Personalization and Quality
  • 128.
    Expand Insights and InferencesUsing Data Science and ML Neo4j Inc. All rights reserved 2023 128 Quickly incorporate context from structured data in RAG vector search using Neo4j graph embeddings with a native vector index Deeper insights for AI by enriching your knowledge graph with link prediction, community detection, and classification using graph algorithms and machine learning Largest Catalog of Graph Algorithms Native Graph Analytics Workspace Graph Embeddings for Enhanced Retrieval
  • 129.
    Interactive application toconstruct knowledge graphs from PDF, youtube transcripts etc. Hosted on llm-graph-builder.neo4jlabs.com Documentation neo4j.com/labs/genai-ecosystem/llm-graph-builder LLM Graph Builder Application Neo4j Inc. All rights reserved 2024
  • 130.
    GraphRAG examples GraphRAG withAWS https://github.com/neo4j-partners/neo4j-generative-ai-aws GraphRAG -H&M Personalized Fashion Recommendations https://github.com/neo4j-product-examples/genai-workshop
  • 131.
    7 Graphs inan Enterprise Neo4j Inc. All rights reserved 2023 131
  • 132.
  • 133.
    Employees Network & Security Suppliers Product Process SevenGraphs in an Enterprise Transactions Customers
  • 134.
    Customer Information History Payments Customers Uncover patterns inyour Recommendations Loyalty Programs Churn Prevention Customer Offers Dynamic Pricing Intelligent Ads Customer Data
  • 135.
    Customer Information Payments Recommendations Loyalty Programs Churn Prevention CustomerOffers Dynamic Pricing Intelligent Ads Uncover patterns in your History 95% improvement in first-call resolution 12% increase in Customer satisfaction Customers Customer Data
  • 136.
    Uncover patterns inyour Payments Product Transactions Customer Invoices Anti-money Laundering Digital Payment Scams Credit Risk Assessment Claims Fraud Credit Fraud Transactions Data
  • 137.
    Uncover patterns inyour Payments Product Transactions Anti-money Laundering Digital Payment Scams Credit Risk Assessment Claims Fraud Credit Fraud Invoices 60% Reduction in infrastructure cost 69% Improvement in query response time Transactions Data Customer
  • 138.
    Uncover patterns inyour Inventory Pricing Reviews Product Product Recommendations New Product Introductions Product Customizations Product Inventory Product Pricing Product Data
  • 139.
    Uncover patterns inyour Inventory Pricing Reviews Product Product Recommendations New Product Introductions Product Customizations Product Inventory Product Pricing Just-in-time Price calculations for customized products, flexible pricing strategies without hard-coding use cases Product Data
  • 140.
    Uncover patterns inyour Assets Location Access Patterns Network & Security Identity & Access 360 Identity Resolution Reputation Scoring Threat Detection Zero Trust Network & Security
  • 141.
    Uncover patterns inyour Assets Location Access Patterns 4 min to determine blast radius Used to take hours or even days 100M Customers Protected Network & Security Identity & Access 360 Identity Resolution Reputation Scoring Threat Detection Zero Trust Network & Security
  • 142.
    Supplier Inventory Product Uncover patterns inyour Suppliers Route Planning & Optimization Real-time Supply Chain Visibility Inventory Planning Risk Analysis Suppliers Data
  • 143.
    Supplier Inventory Product Uncover patterns inyour 10% Reduction in traffic congestion $1500 time saving per driver $750m/yr Savings Suppliers Suppliers Data Route Planning & Optimization Real-time Supply Chain Visibility Inventory Planning Risk Analysis
  • 144.
    Resources Activity Events Process Bottleneck Identification Process Improvement ProcessAutomation Process Monitoring Uncover patterns in your Process Data
  • 145.
    Resources Activity Events Process Bottleneck Identification Process Improvement ProcessAutomation Process Monitoring Uncover patterns in your 83% reduction in query time to quickly pinpoint root cause of problems Process Data https://neo4j.com/case-studies/boston-scientific/
  • 146.
    Uncover patterns inyour Employee Skill s Rol e Talent Learning & Development Career Management Orgs (who is who) Career Development Employees Employee Data
  • 147.
    Uncover patterns inyour Employees Employee Rol e Skill s Talent Learning & Development Career Management Orgs (who is who) Career Development 5 min From 1-2 days to enable informed decision making in workforce management Employee Data
  • 148.
    Talent Learning &Development Career Management Orgs (who is who) Career Development Identity & Access 360 Identity Resolution Reputation Scoring Threat Detection Zero Trust Route Planning & Optimization Real-time Supply Chain Visibility Inventory Planning Risk Analysis Product Recommendations New Product Introductions Product Customizations Product Inventory Product Pricing Bottleneck Identification Process Improvement Process Automation Process Monitoring Recommendations Loyalty Programs Churn Prevention Customer Offers Dynamic Pricing Intelligent Ads Anti-money Laundering Digital Payment Scams Credit Risk Assessment Claims Fraud Credit Fraud Network & Security Suppliers Product Customers Transactions Process Connect your graphs to drive transformation Employees
  • 149.
    Cypher in Action Neo4jInc. All rights reserved 2023 149
  • 150.
  • 151.
    Question? Neo4j Inc. Allrights reserved 2023 151
  • 152.
  • 153.
    GenAI Resources 153 Exploring ChatGPTfor Learning, Code, Data, NLP & Fun Create Neo4j Database Model with ChatGPT ChatGPT and Neo4j for Creating and Importing Sample Datasets Doctor.ai+GPT-3+Kendra = An Ensemble Chatbot for Healthcare Creating a Knowledge Graph From Video Transcripts With ChatGPT Context-Aware Knowledge Graph Chatbot With GPT-4 and Neo4j Generating Company Recommendations using LLMs & Knowledge Graphs Integrating Neo4j into the LangChain ecosystem Fine-tuning an LLM model with H2O LLM Studio to generate Cypher statements Generating Cypher Queries With ChatGPT 4 on Any Graph Schema ChatGPT Generated Star Wars Data: Let's Explore With Neo4j LangChain has added Cypher Search Knowledge Graphs & LLMs: Harnessing Large Language Models with Neo4j Jump into Graph: Creating Mock Data to get started with Graph Databases Neo4j Live: GraphGPT OpenAI API Access - APOC Extended Documentation LangChain Cypher Search: Tips & Tricks Neo4j Integrations with Generative AI Features in Google Cloud Vertex AI Neo4j Knowledge Graphs and Google Generative AI Integrate LLM workflows with Knowledge Graph using Neo4j and APOC Unifying Large Language Models and Knowledge Graphs: A Roadmap Neo4j’s Role in Fueling Generative AI with Graph Technology Knowledge Graphs & LLMs: Fine-Tuning Vs. Retrieval-Augmented Generation Knowledge Graphs & LLMs: Multi-Hop Question Answering Neo4j Knowledge Graphs and Google Generative AI Personal Movie Recommendation Agent with GPT4 + Neo4j https://github.com/neo4j-partners/neo4j-generative-ai-aws https://github.com/neo4j-partners/neo4j-generative-ai-azure https://github.com/neo4j-partners/neo4j-generative-ai-google-cloud https://github.com/neo4j-partners/intelligent-app-from-videos-google-generativeai-neo4j https://github.com/docker/genai-stack
  • 154.
    Neo4j Professional Training Neo4jFundamentals ● Graphs and Graph Databases ● Basic Cypher Querying Neo4j Developer Certification ● Data Management with Cypher ● Intermediate Cypher Querying ● Graph Data Modeling ● Data Management: Import & Governance ● Cypher Query Tuning Neo4j Data Scientist Certification ● Graph Data Modeling ● Data Management: Import & Governance ● GDS Foundations ● GDS Algorithms ● GDS Monitoring & Administration ● Intro to Bloom & NeoDash Neo4j Administrator Certification ● Basic Neo4j Administration ● Graph Dev Ops We offer both self-paced and instructor-led training for: ● Developers ● Data Scientists ● DBAs Premium, in-depth content used to train Neo4j Professional Services resources. Made available to customers through a paid subscription. 154
  • 155.
  • 156.
    156 General Technical ecosystem CI/CD using:Jenkins, Github, ... BI Tools: e.g. Tableau, Tibco Spotfire, Qlik, … Data Integration Cypher Import-Bulk Import-Neo4j Data Loader Custom API’s (Java/Python/GrapQL)-most common ETL tools (Apache HOP, KNIME, Glue, ..) -streaming data (Kafka, MQ) -NLP: HUME, Python Out of the box GUI: - Neo4j Bloom - NeoDash - Neo4j Browser - Linkurious - Graphileon - Semspect Neo4j BI Connector Data Sources Standard types: structured (cvs, xls, JSON, XML, RDF...) or unstructured (.doc, .pdf, …) Data modeling Cypher Workbench, Arrows, Gra.fo, Yed, Hackolade Install/Config Clustering, sharding, fabric Cloud Platforms, Kubernetes, Docker Custom GUI: - JS: Angular, React, NodeJs, VueJs - Java - Structr Drivers Java, Python, JS, C# Admin using: Halin, Grafana, ... API’s Java, Python,GraphQL Cypher dev, tuning APOC dev, usage (Java) GDS/NLP dev, usage Security RBAC, SSO, custom Plugins Neo4j Inc. All rights reserved 2023 156
  • 157.
    Neo4j CE vsAura/EE Neo4j Inc. All rights reserved 2023 157
  • 158.
    Start learning Neo4j 158 ●Community edition (GPLv3), Developer license ● Open-source software ● Built for testing and learning ● Features for Developer adoption ● Commercial license under subscription agreement ● Closed-source software ● Built for production workloads ● Features for app owners, operational teams, developers Production applications $ Drivers and API Transactions and Querying Limited analytics capabilities Developers Admins Development & Administration Community Edition users are graph-aware potential enterprise customers Buy & Deploy in Prod. Neo4j Inc. All rights reserved 2023
  • 159.
    Risks of usingopen-source software 159 Operationally Inefficient ● Manual backups & upgrades; Downtime due to Db failure Lack of Neo4j prod. expertise ● Cannot implement best practices for performance ● Cannot scale analytical and transactional workloads Neo4j Inc. All rights reserved 2023 ● No vendor oversight on source code and limited security evaluation Security Copy left obligations ● Legal implications of using open-source for proprietary software
  • 160.
    Who needs CommercialLicense? 160 Need to reduce security risk while managing confidential data Need high availability of database for critical applications Need to achieve performance for large-scale applications Strategic priority to move to SaaS for IT stack ● Need to safeguard competitive advantage using closed-source license ● Need professional support for project success and access to productivity tools Neo4j Inc. All rights reserved 2023
  • 161.
    Who is theright customer for Aura and Enterprise Edition? AURA Enterprise ● AWS/ Azure/ GCP/ multi-cloud customer ● Need a SaaS solution ● Require fault tolerance and SLA for uptime ● Fully Managed 161 Enterprise Edition ● Strategic choice to not migrate to cloud (regulatory limitations) ● Need horizontal scaling with federated queries on DB secondaries ● Multiple DBs
  • 162.
    Aura empowers enterpriseswith a highly secure, reliable, and performant database for production Operational Reliability Enterprise- grade Security Performance at Scale Premium Support for project success 300+ Neo4j Engineers 162 Neo4j Inc. All rights reserved 2023
  • 163.
    163 Ensure Data securityand integrity User access control Production- certified and compliant Neo4j Inc. All rights reserved 2023 Encryption and isolation mechanisms ● Role based access control ● Single sign-on ● Brute force protection ● Schema-based access control ● Cypher constraints ● Data encryption (at rest, intransit) ● Intra-cluster SSL encryption ● Customer managed encryption key ● Isolated DB in VPC network with private link ● Security evaluation of Neo4j code (extensive testing to ensure runtime quality) ● Vulnerability scanning ● 3rd party penetration tests ● SOC2, ISO27001, GDPR, HIPAA
  • 164.
    Operationally reliable databasefor production Neo4j Inc. All rights reserved 2023 164 Efficient DB operations with premium support Highly Available for Critical Apps ● 99.95% uptime with 3-server cluster ● Store back-ups across multiple availability zones ● Backup without downtime using online back-ups ● Point in time recovery by creating instance from a snapshot ● Automate upgrades with no server downtime and manual effort ● Easy to clone and pause database using Aura console ● Tune database with visibility into metrics through a built-in dashboard ● 24x7x365 Support from Neo4j engineers
  • 165.
    165 Faster response timesfor analytical queries (Parallel Runtime) Trigger actions in response to DB events (Change Data Capture) Monitor query performance and error scenarios (query logs) Faster data retrieval with improved resource utilization (block data format) Improve performance and take action Improve productivity Visualize and explore connected data (Bloom); collaborate with other users Quickly upload data from multiple sources using simple UI-tool (Data importer) Performance at scale for queries and productivity for users Neo4j Inc. All rights reserved 2023
  • 166.
    High performance withincreasing complexity and volume of interconnected data 166 Scalable Architecture: Flexibility to vertically scale up and down Aura DB instances I High efficiency data ingress/ egress: export large volume of vectorized graph data (Apache Arrow integration) Run algorithms faster: Expand the threads for computation beyond 4 CPUs (up to 82 CPUs)
  • 167.
    Additional functionality inEnterprise Edition Scale out database beyond 34 billion nodes Partition graph across multiple databases Retrieve data from disjointed and common graphs on multiple databases with Cypher Scale out the read workloads by adding a new secondary server to the cluster Multiple databases in a single account with server side routing for high availability and scalability Neo4j Inc. All rights reserved 2023 Scale GDS by reducing memory footprint and enabling some algorithms to run faster (BitIdMap in-memory implementation)