SlideShare a Scribd company logo
(c) Neo Technology, Inc 2014
Graph Database
Introduction
Meetup	

April 2014
Michael Hunger
michael@neotechnology.com
@mesirii
@neo4j
(c) Neo Technology, Inc 2014
Agenda
1. Why Graphs,Why Now?	

2. What Is A Graph, Anyway?	

3. Graphs In The Real World	

4. The Graph Landscape	

i) Popular Graph Models	

ii) Graph Databases	

iii)Graph Compute Engines
(c) Neo Technology, Inc 2014
Why Graphs?
(c) Neo Technology, Inc 2014
The World is a Graph
(c) Neo Technology, Inc 2014
Some Use-Cases
(c) Neo Technology, Inc 2014
Social	
  Network
(c) Neo Technology, Inc 2014
(Network)	
  Impact	
  Analysis
(c) Neo Technology, Inc 2014
Route	
  Finding
(c) Neo Technology, Inc 2014
Recommenda<ons
(c) Neo Technology, Inc 2014
Logis<cs
(c) Neo Technology, Inc 2014
Access	
  Control
(c) Neo Technology, Inc 2014
Fraud	
  Analysis
(c) Neo Technology, Inc 2014
Securi<es	
  &	
  Debt
(c) Neo Technology, Inc 2014
What Is A Graph,
Anyway?
(c) Neo Technology, Inc 2014
A	
  Graph
Node
Relationship
(c) Neo Technology, Inc 2014
Four Graph Model
Building Blocks
(c) Neo Technology, Inc 2014
Property	
  Graph	
  Data	
  Model
(c) Neo Technology, Inc 2014
Nodes
(c) Neo Technology, Inc 2014
Rela<onships
(c) Neo Technology, Inc 2014
Rela<onships	
  (con<nued)
Nodes	
  can	
  have	
  more	
  
than	
  one	
  rela<onship
Self	
  rela<onships	
  are	
  allowed
Nodes	
  can	
  be	
  connected	
  by	
  more	
  
than	
  one	
  rela<onship
(c) Neo Technology, Inc 2014
Labels
(c) Neo Technology, Inc 2014
Four	
  Building	
  Blocks
๏ Nodes	
  
• En<<es	
  
๏ Rela<onships	
  
• Connect	
  en<<es	
  and	
  structure	
  domain	
  
๏ Proper<es	
  
• AJributes	
  and	
  metadata	
  
๏ Labels	
  
• Group	
  nodes	
  by	
  role
(c) Neo Technology, Inc 2014
Whiteboard	

Friendlyness
Easy to design and model	

direct representation of the model
(c) Neo Technology, Inc 2014
(c) Neo Technology, Inc 2014
Tom Hanks Hugo Weaving
Cloud Atlas
The Matrix
Lana
Wachowski
ACTED_IN
ACTED_IN
ACTED_IN
DIRECTED
DIRECTED
(c) Neo Technology, Inc 2014
name: Tom Hanks
born: 1956
title: Cloud Atlas
released: 2012
title: The Matrix
released: 1999
name: Lana Wachowski
born: 1965
ACTED_IN
roles: Zachry
ACTED_IN
roles: Bill Smoke
DIRECTED
DIRECTED
ACTED_IN
roles: Agent Smith
name: Hugo Weaving
born: 1960
Person
Movie
Movie
Person Director
ActorPerson Actor
(c) Neo Technology, Inc 2014
(c) Neo Technology, Inc 2014
Aggregate vs.
Connected Data-Model
(c) Neo Technology, Inc 2014
What is NOSQL?
It’s not “No to SQL”
It’s not “Never SQL”
It’s “Not Only SQL”
NOSQL no-seek-wool n. Describes ongoing
trend where developers increasingly opt for
non-relational databases to help solve their
problems, in an effort to use the right tool for
the right job.
(c) Neo Technology, Inc 2014
NOSQL
Relational
Graph
Document
KeyValue
Riak
Column
oriented
Redis
Cassandra
Mongo
Couch
Neo4j
MySQL
Postgres
NOSQL Databases
(c) Neo Technology, Inc 2014
31
(c) Neo Technology, Inc 2014
31
Living in a NOSQL World
(c) Neo Technology, Inc 2014
31
Living in a NOSQL World
Volume ~= Size
(c) Neo Technology, Inc 2014
31
Living in a NOSQL World
Density~=Complexity
Volume ~= Size
(c) Neo Technology, Inc 2014
31
Living in a NOSQL World
Density~=Complexity
Volume ~= Size
Key-Value
Store
(c) Neo Technology, Inc 2014
31
Living in a NOSQL World
Density~=Complexity
Column
Family
Volume ~= Size
Key-Value
Store
(c) Neo Technology, Inc 2014
31
Living in a NOSQL World
Density~=Complexity
Column
Family
Volume ~= Size
Key-Value
Store
Document
Databases
(c) Neo Technology, Inc 2014
31
Living in a NOSQL World
RDBMS
Density~=Complexity
Column
Family
Volume ~= Size
Key-Value
Store
Document
Databases
(c) Neo Technology, Inc 2014
31
Living in a NOSQL World
RDBMS
Density~=Complexity
Column
Family
Volume ~= Size
Key-Value
Store
Document
Databases
Graph
Databases
(c) Neo Technology, Inc 2014
31
Living in a NOSQL World
RDBMS
Density~=Complexity
Column
Family
Volume ~= Size
Key-Value
Store
Document
Databases
Graph
Databases
90%
of
use
cases
(c) Neo Technology, Inc 2014
31
Living in a NOSQL World
RDBMS
Density~=Complexity
Column
Family
Volume ~= Size
Key-Value
Store
Document
Databases
Graph
Databases
90%
of
use
cases
(c) Neo Technology, Inc 2014
31
Living in a NOSQL World
Aggregate Oriented
RDBMS
Density~=Complexity
Column
Family
Volume ~= Size
Key-Value
Store
Document
Databases
Graph
Databases
90%
of
use
cases
(c) Neo Technology, Inc 2014
“There is a significant downside - the whole approach works
really well when data access is aligned with the aggregates, but
what if you want to look at the data in a different way? Order
entry naturally stores orders as aggregates, but analyzing
product sales cuts across the aggregate structure. The
advantage of not using an aggregate structure in the database
is that it allows you to slice and dice your data different ways
for different audiences.
!
This is why aggregate-oriented stores talk so much about map-
reduce.”
Martin Fowler
Aggregate Oriented Model
(c) Neo Technology, Inc 2014
The connected data model is based on fine grained elements
that are richly connected, the emphasis is on extracting many
dimensions and attributes as elements.
Connections are cheap and can be used not only for the
domain-level relationships but also for additional structures
that allow efficient access for different use-cases. The fine
grained model requires a external scope for mutating
operations that ensures Atomicity, Consistency, Isolation and
Durability - ACID also known as Transactions.
!
Michael Hunger
Connected Data Model
(c) Neo Technology, Inc 2014
Relational vs. Graph
34
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
users
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
users skills
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
users skillsuser_skill
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
users skillsuser_skill
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
users skillsuser_skill
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
users skillsuser_skill
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
now consider relationships...
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
now consider relationships...
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
now consider relationships...
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
now consider relationships...
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
now consider relationships...
(c) Neo Technology, Inc 2014
Relational vs. Graph
You know relational
34
now consider relationships...
(c) Neo Technology, Inc 2014
Relational vs. Graph
34
(c) Neo Technology, Inc 2014
35
(c) Neo Technology, Inc 2014
Looks different, fine.Who cares?
35
(c) Neo Technology, Inc 2014
Looks different, fine.Who cares?
๏a sample social graph
35
(c) Neo Technology, Inc 2014
Looks different, fine.Who cares?
๏a sample social graph
•with ~1,000 persons
35
(c) Neo Technology, Inc 2014
Looks different, fine.Who cares?
๏a sample social graph
•with ~1,000 persons
๏average 50 friends per person
35
(c) Neo Technology, Inc 2014
Looks different, fine.Who cares?
๏a sample social graph
•with ~1,000 persons
๏average 50 friends per person
๏pathExists(a,b) limited to depth 4
35
(c) Neo Technology, Inc 2014
Looks different, fine.Who cares?
๏a sample social graph 	

•with ~1,000 persons	

๏average 50 friends per person	

๏pathExists(a,b) limited to depth 4	

๏caches warmed up to eliminate disk I/O
35
(c) Neo Technology, Inc 2014
Looks different, fine.Who cares?
๏a sample social graph 	

•with ~1,000 persons	

๏average 50 friends per person	

๏pathExists(a,b) limited to depth 4	

๏caches warmed up to eliminate disk I/O
35
# persons query time
Relational database 1.000 2000ms
(c) Neo Technology, Inc 2014
Looks different, fine.Who cares?
๏a sample social graph 	

•with ~1,000 persons	

๏average 50 friends per person	

๏pathExists(a,b) limited to depth 4	

๏caches warmed up to eliminate disk I/O
35
# persons query time
Relational database 1.000 2000ms
Neo4j 1.000 2ms
(c) Neo Technology, Inc 2014
Looks different, fine.Who cares?
๏a sample social graph 	

•with ~1,000 persons	

๏average 50 friends per person	

๏pathExists(a,b) limited to depth 4	

๏caches warmed up to eliminate disk I/O
35
# persons query time
Relational database 1.000 2000ms
Neo4j 1.000 2ms
Neo4j 1.000.000 2ms
(c) Neo Technology, Inc 2014
35
(c) Neo Technology, Inc 2014
Neo4j is a Graph Database
(c) Neo Technology, Inc 2014
Neo4j is a Graph Database
• A Graph Database:
(c) Neo Technology, Inc 2014
Neo4j is a Graph Database
• A Graph Database:
• a schema-free labeled Property Graph
(c) Neo Technology, Inc 2014
Neo4j is a Graph Database
• A Graph Database:
• a schema-free labeled Property Graph
• perfect for complex, highly connected data
(c) Neo Technology, Inc 2014
Neo4j is a Graph Database
• A Graph Database:
• a schema-free labeled Property Graph
• perfect for complex, highly connected data
• A Graph Database:
(c) Neo Technology, Inc 2014
Neo4j is a Graph Database
• A Graph Database:
• a schema-free labeled Property Graph
• perfect for complex, highly connected data
• A Graph Database:
• reliable with real ACID Transactions
(c) Neo Technology, Inc 2014
Neo4j is a Graph Database
• A Graph Database:
• a schema-free labeled Property Graph
• perfect for complex, highly connected data
• A Graph Database:
• reliable with real ACID Transactions
• scalable: Billions of Nodes and Relationships, Scale out with
highly available Neo4j-Cluster
(c) Neo Technology, Inc 2014
Neo4j is a Graph Database
• A Graph Database:
• a schema-free labeled Property Graph
• perfect for complex, highly connected data
• A Graph Database:
• reliable with real ACID Transactions
• scalable: Billions of Nodes and Relationships, Scale out with
highly available Neo4j-Cluster
• fast with more than 2M traversals / second
(c) Neo Technology, Inc 2014
Neo4j is a Graph Database
• A Graph Database:
• a schema-free labeled Property Graph
• perfect for complex, highly connected data
• A Graph Database:
• reliable with real ACID Transactions
• scalable: Billions of Nodes and Relationships, Scale out with
highly available Neo4j-Cluster
• fast with more than 2M traversals / second
• Server with HTTP API, or Embeddable on the JVM
(c) Neo Technology, Inc 2014
Neo4j is a Graph Database
• A Graph Database:
• a schema-free labeled Property Graph
• perfect for complex, highly connected data
• A Graph Database:
• reliable with real ACID Transactions
• scalable: Billions of Nodes and Relationships, Scale out with
highly available Neo4j-Cluster
• fast with more than 2M traversals / second
• Server with HTTP API, or Embeddable on the JVM
• Declarative Query Language
(c) Neo Technology, Inc 2014
Graph Database: Pros & Cons
• Strengths	

• Powerful data model, as general as RDBMS	

• Whiteboard friendly, agile development	

• Fast, for connected data	

• Easy to query	

• Weaknesses:	

• Sharding (they can scale up and out reasonably well)	

• Global Queries / Number Crunching	

• Binary Data / Blobs	

• Requires conceptual shift	

• graph-like thinking becomes addictive
(c) Neo Technology, Inc 2014
Graph Querying
(c) Neo Technology, Inc 2014
You know how to query a
relational database!
(c) Neo Technology, Inc 2014
40
(c) Neo Technology, Inc 2014
Just use SQL
40
(c) Neo Technology, Inc 2014
Just use SQL
40users skillsuser_skills
(c) Neo Technology, Inc 2014
Just use SQL
40users skillsuser_skills
select skills.name
from users join user_skills on (...) join skills on (...)
where users.name = “Michael“
(c) Neo Technology, Inc 2014
How to query a graph?
(c) Neo Technology, Inc 2014
42
(c) Neo Technology, Inc 2014
You traverse the graph
42
(c) Neo Technology, Inc 2014
// find starting nodes
MATCH (me:Person {name:'Andreas'})
Andreas
You traverse the graph
42
(c) Neo Technology, Inc 2014
// find starting nodes
MATCH (me:Person {name:'Andreas'})
// then traverse the relationships
MATCH (me:Person {name:'Andreas'})-[:FRIEND]-(friend)
-[:FRIEND]-(friend2)
RETURN friend2
Andreas
You traverse the graph
42
(c) Neo Technology, Inc 2014
Cypher
a pattern-matching
query language for graphs
(c) Neo Technology, Inc 2014
Cypher attributes
#1 Declarative
You tell Cypher what you
want, not how to get it
44
(c) Neo Technology, Inc 2014
Cypher attributes
#2 Expressive
Optimize syntax for reading
45
MATCH (a:Actor)-[r:ACTS_IN]->(m:Movie)
RETURN a.name, r.role, m.title
(c) Neo Technology, Inc 2014
Cypher attributes
#3 Pattern Matching
Patterns are easy for your
human brain
46
(c) Neo Technology, Inc 2014
Cypher attributes
#4 Idempotent
State change should be
expressed idempotently
47
(c) Neo Technology, Inc 2014
Query Structure
(c) Neo Technology, Inc 2014
MATCH (n:Label)-[:REL]->(m:Label)
WHERE n.prop < 42
WITH n, count(m) as cnt,

collect(m.attr) as attrs
WHERE cnt > 12
RETURN n.prop,
extract(a2 in

filter(a1 in attrs
WHERE a1 =~ "...-.*")
| substr(a2,4,size(a2)-1)]
AS ids
ORDER BY length(ids) DESC
LIMIT 10
Query Structure
(c) Neo Technology, Inc 2014
MATCH
describes the pattern
(c) Neo Technology, Inc 2014
MATCH (n:Label)-[:REL]->(m:Label)
WHERE n.prop < 42
WITH n, count(m) as cnt,

collect(m.attr) as attrs
WHERE cnt > 12
RETURN n.prop,
extract(a2 in

filter(a1 in attrs
WHERE a1 =~ "...-.*")
| substr(a2,4,size(a2)-1)]
AS ids
ORDER BY length(ids) DESC
SKIP 5 LIMIT 10
MATCH - Pattern
(c) Neo Technology, Inc 2014
WHERE
filters the result set
(c) Neo Technology, Inc 2014
MATCH (n:Label)-[:REL]->(m:Label)
WHERE n.prop < 42
WITH n, count(m) as cnt,

collect(m.attr) as attrs
WHERE cnt > 12
RETURN n.prop,
extract(a2 in

filter(a1 in attrs
WHERE a1 =~ "...-.*")
| substr(a2,4,size(a2)-1)]
AS ids
ORDER BY length(ids) DESC
SKIP 5 LIMIT 10
WHERE - filter
(c) Neo Technology, Inc 2014
RETURN
returns the result rows
(c) Neo Technology, Inc 2014
MATCH (n:Label)-[:REL]->(m:Label)
WHERE n.prop < 42
WITH n, count(m) as cnt,

collect(m.attr) as attrs
WHERE cnt > 12
RETURN n.prop,
extract(a2 in

filter(a1 in attrs
WHERE a1 =~ "...-.*")
| substr(a2,4,size(a2)-1)]
AS ids
ORDER BY length(ids) DESC
SKIP 5 LIMIT 10
RETURN - project
(c) Neo Technology, Inc 2014
ORDER BY	

LIMIT SKIP
sort and paginate
(c) Neo Technology, Inc 2014
MATCH (n:Label)-[:REL]->(m:Label)
WHERE n.prop < 42
WITH n, count(m) as cnt,

collect(m.attr) as attrs
WHERE cnt > 12
RETURN n.prop,
extract(a2 in

filter(a1 in attrs
WHERE a1 =~ "...-.*")
| substr(a2,4,size(a2)-1)]
AS ids
ORDER BY length(ids) DESC
SKIP 5 LIMIT 10
ORDER BY LIMIT - Paginate
(c) Neo Technology, Inc 2014
WITH
combines query parts	

like a pipe
(c) Neo Technology, Inc 2014
MATCH (n:Label)-[:REL]->(m:Label)
WHERE n.prop < 42
WITH n, count(m) as cnt,

collect(m.attr) as attrs
WHERE cnt > 12
RETURN n.prop,
extract(a2 in

filter(a1 in attrs
WHERE a1 =~ "...-.*")
| substr(a2,4,size(a2)-1)]
AS ids
ORDER BY length(ids) DESC
SKIP 5 LIMIT 10
WITH + WHERE = HAVING
(c) Neo Technology, Inc 2014
Collections
powerful datastructure
handling
(c) Neo Technology, Inc 2014
MATCH (n:Label)-[:REL]->(m:Label)
WHERE n.prop < 42
WITH n, count(m) as cnt,

collect(m.attr) as attrs
WHERE cnt > 12
RETURN n.prop,
extract(a2 in

filter(a1 in attrs
WHERE a1 =~ "...-.*")
| substr(a2,4,size(a2)-1)]
AS ids
ORDER BY length(ids) DESC
LIMIT 10
Collections
(c) Neo Technology, Inc 2014
MATCH (:Country {name:"Sweden"})
<-[:REGISTERED_IN]-(c:Company)
<-[:WORKS_AT]-(p:Person:Developer)
WHERE p.age < 42
WITH c, count(p) as cnt,

collect(p.empId) as emp_ids
WHERE cnt > 12
RETURN c.name AS company_name,
extract(id2 in

filter(id1 in emp_ids
WHERE id1 =~ "...-.*")
| substr(id2,4,size(id2)-1)]
AS last_emp_id_digits
ORDER BY length(last_emp_id_digits) DESC
SKIP 5 LIMIT 10
Concrete Example
(c) Neo Technology, Inc 2014
CREATE
creates nodes, relationships
and patterns
(c) Neo Technology, Inc 2014
CREATE (y:Year {year:2014})
FOREACH (m IN range(1,12) |
CREATE
(:Month {month:m})-[:IN]->(y)
)
CREATE - nodes, rels, structures
(c) Neo Technology, Inc 2014
MERGE
matches or creates
(c) Neo Technology, Inc 2014
MERGE (y:Year {year:2014})

ON CREATE
SET y.created = timestamp()
FOREACH (m IN range(1,12) |
MERGE
(:Month {month:m})-[:IN]->(y)
)
MERGE - get or create
(c) Neo Technology, Inc 2014
SET, REMOVE
update attributes and labels
(c) Neo Technology, Inc 2014
MATCH (year:Year)

WHERE year.year % 4 = 0 OR
year.year % 100 <> 0 AND
year.year % 400 = 0
SET year:Leap
WITH year
MATCH (year)<-[:IN]-(feb:Month {month:2})
SET feb.days = 29

CREATE (feb)<-[:IN]-(:Day {day:29})
SET, REMOVE, DELETE
(c) Neo Technology, Inc 2014
INDEX,
CONSTRAINTS
represent optional schema
(c) Neo Technology, Inc 2014
CREATE CONSTRAINT ON (y:Year)
ASSERT y.year IS UNIQUE
!
CREATE INDEX ON :Month(month)
INDEX / CONSTRAINT
(c) Neo Technology, Inc 2014
Graph Query Examples
(c) Neo Technology, Inc 2014
Social
Recommendation
(c) Neo Technology, Inc 2014
(c) Neo Technology, Inc 2014
(c) Neo Technology, Inc 2014
MATCH (person:Person)-[:IS_FRIEND_OF]->(friend),
(friend)-[:LIKES]->(restaurant),
(restaurant)-[:LOCATED_IN]->(loc:Location),
(restaurant)-[:SERVES]->(type:Cuisine)
!
WHERE person.name = 'Philip' AND loc.location='New York' AND
type.cuisine='Sushi'
!
RETURN restaurant.name
* Cypher query language examplehttp://maxdemarzi.com/?s=facebook
(c) Neo Technology, Inc 2014
(c) Neo Technology, Inc 2014
(c) Neo Technology, Inc 2014
Network Management
Example
(c) Neo Technology, Inc 2014
Network Management - Create
CREATE !
! (crm {name:"CRM"}),!
! (dbvm {name:"Database VM"}),!
! (www {name:"Public Website"}),!
! (wwwvm {name:"Webserver VM"}),!
! (srv1 {name:"Server 1"}),!
! (san {name:"SAN"}),!
! (srv2 {name:"Server 2"}),!
!
! (crm)-[:DEPENDS_ON]->(dbvm),!
! (dbvm)-[:DEPENDS_ON]->(srv2),!
! (srv2)-[:DEPENDS_ON]->(san),!
! (www)-[:DEPENDS_ON]->(dbvm),!
! (www)-[:DEPENDS_ON]->(wwwvm),!
! (wwwvm)-[:DEPENDS_ON]->(srv1),!
! (srv1)-[:DEPENDS_ON]->(san)!
Practical Cypher
(c) Neo Technology, Inc 2014
Network Management - Impact Analysis
// Server 1 Outage!
MATCH (n)<-[:DEPENDS_ON*]-(upstream)!
WHERE n.name = "Server 1"!
RETURN upstream!
Practical Cypher
upstream
{name:"Webserver VM"}
{name:"Public Website"}
(c) Neo Technology, Inc 2014
Network Management - Dependency Analysis
// Public website dependencies!
MATCH (n)-[:DEPENDS_ON*]->(downstream)!
WHERE n.name = "Public Website"!
RETURN downstream!
!
Practical Cypher
downstream
{name:"Database VM"}
{name:"Server 2"}
{name:"SAN"}
{name:"Webserver VM"}
{name:"Server 1"}
(c) Neo Technology, Inc 2014
Network Management - Statistics
// Most depended on component!
MATCH (n)<-[:DEPENDS_ON*]-(dependent)!
RETURN n, !
count(DISTINCT dependent) !
AS dependents!
ORDER BY dependents DESC!
LIMIT 1
Practical Cypher
n dependents
{name:"SAN"} 6
(c) Neo Technology, Inc 2014
๏ Full day Neo4j Training & Online Training	

๏ Free e-Books	

• Graph Databases, Neo4j 2.0 (DE)	

๏ neo4j.org	

• http://neo4j.org/develop/modeling	

๏ docs.neo4j.org 	

• Data Modeling Examples	

๏ http://console.neo4j.org	

๏ http://gist.neo4j.org	

๏ Get Neo4j	

• http://neo4j.org/download	

๏ Participate	

• http://groups.google.com/group/neo4j	

How to get started?
81
(c) Neo Technology, Inc 2014
ThankYou
Time for Questions!

More Related Content

What's hot

Introduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & BahrainIntroduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & Bahrain
Neo4j
 
Introduction to Graphs with Neo4j
Introduction to Graphs with Neo4jIntroduction to Graphs with Neo4j
Introduction to Graphs with Neo4j
Neo4j
 
Neo4j GraphTalk Helsinki - Introduction and Graph Use Cases
Neo4j GraphTalk Helsinki - Introduction and Graph Use CasesNeo4j GraphTalk Helsinki - Introduction and Graph Use Cases
Neo4j GraphTalk Helsinki - Introduction and Graph Use Cases
Neo4j
 
Neo4j Fundamentals
Neo4j FundamentalsNeo4j Fundamentals
Neo4j Fundamentals
Max De Marzi
 
Neo4j 4 Overview
Neo4j 4 OverviewNeo4j 4 Overview
Neo4j 4 Overview
Neo4j
 
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data Science
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data ScienceGet Started with the Most Advanced Edition Yet of Neo4j Graph Data Science
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data Science
Neo4j
 
Intro to Cypher
Intro to CypherIntro to Cypher
Intro to Cypher
Neo4j
 
Workshop Tel Aviv - Graph Data Science
Workshop Tel Aviv - Graph Data ScienceWorkshop Tel Aviv - Graph Data Science
Workshop Tel Aviv - Graph Data Science
Neo4j
 
RDBMS to Graph
RDBMS to GraphRDBMS to Graph
RDBMS to Graph
Neo4j
 
Graph database
Graph database Graph database
Graph database
Shruti Arya
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4j
Neo4j
 
Training Week: Build APIs with Neo4j GraphQL Library
Training Week: Build APIs with Neo4j GraphQL LibraryTraining Week: Build APIs with Neo4j GraphQL Library
Training Week: Build APIs with Neo4j GraphQL Library
Neo4j
 
How Graph Data Science can turbocharge your Knowledge Graph
How Graph Data Science can turbocharge your Knowledge GraphHow Graph Data Science can turbocharge your Knowledge Graph
How Graph Data Science can turbocharge your Knowledge Graph
Neo4j
 
Graphs for Finance - AML with Neo4j Graph Data Science
Graphs for Finance - AML with Neo4j Graph Data Science Graphs for Finance - AML with Neo4j Graph Data Science
Graphs for Finance - AML with Neo4j Graph Data Science
Neo4j
 
Getting Started with Knowledge Graphs
Getting Started with Knowledge GraphsGetting Started with Knowledge Graphs
Getting Started with Knowledge Graphs
Peter Haase
 
Neo4j 4.1 overview
Neo4j 4.1 overviewNeo4j 4.1 overview
Neo4j 4.1 overview
Neo4j
 
An Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4jAn Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4j
Debanjan Mahata
 
NOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4jNOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4j
Tobias Lindaaker
 
An overview of Neo4j Internals
An overview of Neo4j InternalsAn overview of Neo4j Internals
An overview of Neo4j Internals
Tobias Lindaaker
 
Intermediate Cypher.pdf
Intermediate Cypher.pdfIntermediate Cypher.pdf
Intermediate Cypher.pdf
Neo4j
 

What's hot (20)

Introduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & BahrainIntroduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & Bahrain
 
Introduction to Graphs with Neo4j
Introduction to Graphs with Neo4jIntroduction to Graphs with Neo4j
Introduction to Graphs with Neo4j
 
Neo4j GraphTalk Helsinki - Introduction and Graph Use Cases
Neo4j GraphTalk Helsinki - Introduction and Graph Use CasesNeo4j GraphTalk Helsinki - Introduction and Graph Use Cases
Neo4j GraphTalk Helsinki - Introduction and Graph Use Cases
 
Neo4j Fundamentals
Neo4j FundamentalsNeo4j Fundamentals
Neo4j Fundamentals
 
Neo4j 4 Overview
Neo4j 4 OverviewNeo4j 4 Overview
Neo4j 4 Overview
 
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data Science
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data ScienceGet Started with the Most Advanced Edition Yet of Neo4j Graph Data Science
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data Science
 
Intro to Cypher
Intro to CypherIntro to Cypher
Intro to Cypher
 
Workshop Tel Aviv - Graph Data Science
Workshop Tel Aviv - Graph Data ScienceWorkshop Tel Aviv - Graph Data Science
Workshop Tel Aviv - Graph Data Science
 
RDBMS to Graph
RDBMS to GraphRDBMS to Graph
RDBMS to Graph
 
Graph database
Graph database Graph database
Graph database
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4j
 
Training Week: Build APIs with Neo4j GraphQL Library
Training Week: Build APIs with Neo4j GraphQL LibraryTraining Week: Build APIs with Neo4j GraphQL Library
Training Week: Build APIs with Neo4j GraphQL Library
 
How Graph Data Science can turbocharge your Knowledge Graph
How Graph Data Science can turbocharge your Knowledge GraphHow Graph Data Science can turbocharge your Knowledge Graph
How Graph Data Science can turbocharge your Knowledge Graph
 
Graphs for Finance - AML with Neo4j Graph Data Science
Graphs for Finance - AML with Neo4j Graph Data Science Graphs for Finance - AML with Neo4j Graph Data Science
Graphs for Finance - AML with Neo4j Graph Data Science
 
Getting Started with Knowledge Graphs
Getting Started with Knowledge GraphsGetting Started with Knowledge Graphs
Getting Started with Knowledge Graphs
 
Neo4j 4.1 overview
Neo4j 4.1 overviewNeo4j 4.1 overview
Neo4j 4.1 overview
 
An Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4jAn Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4j
 
NOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4jNOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4j
 
An overview of Neo4j Internals
An overview of Neo4j InternalsAn overview of Neo4j Internals
An overview of Neo4j Internals
 
Intermediate Cypher.pdf
Intermediate Cypher.pdfIntermediate Cypher.pdf
Intermediate Cypher.pdf
 

Viewers also liked

Intro to Neo4j presentation
Intro to Neo4j presentationIntro to Neo4j presentation
Intro to Neo4j presentation
jexp
 
Application Modeling with Graph Databases - Relationships are cool
Application Modeling with Graph Databases - Relationships are coolApplication Modeling with Graph Databases - Relationships are cool
Application Modeling with Graph Databases - Relationships are cool
Lars Martin
 
Shutl
ShutlShutl
Shutl
Neoworks
 
Exploring cypher with graph gists
Exploring cypher with graph gistsExploring cypher with graph gists
Exploring cypher with graph gists
Luanne Misquitta
 
Graph Databases, a little connected tour (Codemotion Rome)
Graph Databases, a little connected tour (Codemotion Rome)Graph Databases, a little connected tour (Codemotion Rome)
Graph Databases, a little connected tour (Codemotion Rome)
fcofdezc
 
Neo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in GraphdatenbankenNeo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j
 
The Five Graphs of Government: How Federal Agencies can Utilize Graph Technology
The Five Graphs of Government: How Federal Agencies can Utilize Graph TechnologyThe Five Graphs of Government: How Federal Agencies can Utilize Graph Technology
The Five Graphs of Government: How Federal Agencies can Utilize Graph Technology
Neo4j
 
GraphTalks Rome - Selecting the right Technology
GraphTalks Rome - Selecting the right TechnologyGraphTalks Rome - Selecting the right Technology
GraphTalks Rome - Selecting the right Technology
Neo4j
 
GraphTalks Rome - Introducing Neo4j
GraphTalks Rome - Introducing Neo4jGraphTalks Rome - Introducing Neo4j
GraphTalks Rome - Introducing Neo4j
Neo4j
 
GraphTalks Rome - Identity and Access Management
GraphTalks Rome - Identity and Access ManagementGraphTalks Rome - Identity and Access Management
GraphTalks Rome - Identity and Access Management
Neo4j
 
GraphTalks Rome - The Italian Business Graph
GraphTalks Rome - The Italian Business GraphGraphTalks Rome - The Italian Business Graph
GraphTalks Rome - The Italian Business Graph
Neo4j
 
Knowledge Architecture: Graphing Your Knowledge
Knowledge Architecture: Graphing Your KnowledgeKnowledge Architecture: Graphing Your Knowledge
Knowledge Architecture: Graphing Your Knowledge
Neo4j
 
Webinar: RDBMS to Graphs
Webinar: RDBMS to GraphsWebinar: RDBMS to Graphs
Webinar: RDBMS to Graphs
Neo4j
 
IT in Healthcare
IT in HealthcareIT in Healthcare
IT in Healthcare
NetApp
 
Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.
Emiland
 
What I Carry: 10 Tools for Success
What I Carry: 10 Tools for SuccessWhat I Carry: 10 Tools for Success
What I Carry: 10 Tools for Success
Jonathon Colman
 
Visualization of Publication Impact
Visualization of Publication ImpactVisualization of Publication Impact
Visualization of Publication Impact
Eamonn Maguire
 
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial Fraud
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial FraudGraphDay Stockholm - Levaraging Graph-Technology to fight Financial Fraud
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial Fraud
Neo4j
 
GraphDay Stockholm - Graphs in Action
GraphDay Stockholm - Graphs in ActionGraphDay Stockholm - Graphs in Action
GraphDay Stockholm - Graphs in Action
Neo4j
 
GraphDay Stockholm - iKnow Solutions - The Value Add of Graphs to Analytics a...
GraphDay Stockholm - iKnow Solutions - The Value Add of Graphs to Analytics a...GraphDay Stockholm - iKnow Solutions - The Value Add of Graphs to Analytics a...
GraphDay Stockholm - iKnow Solutions - The Value Add of Graphs to Analytics a...
Neo4j
 

Viewers also liked (20)

Intro to Neo4j presentation
Intro to Neo4j presentationIntro to Neo4j presentation
Intro to Neo4j presentation
 
Application Modeling with Graph Databases - Relationships are cool
Application Modeling with Graph Databases - Relationships are coolApplication Modeling with Graph Databases - Relationships are cool
Application Modeling with Graph Databases - Relationships are cool
 
Shutl
ShutlShutl
Shutl
 
Exploring cypher with graph gists
Exploring cypher with graph gistsExploring cypher with graph gists
Exploring cypher with graph gists
 
Graph Databases, a little connected tour (Codemotion Rome)
Graph Databases, a little connected tour (Codemotion Rome)Graph Databases, a little connected tour (Codemotion Rome)
Graph Databases, a little connected tour (Codemotion Rome)
 
Neo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in GraphdatenbankenNeo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in Graphdatenbanken
 
The Five Graphs of Government: How Federal Agencies can Utilize Graph Technology
The Five Graphs of Government: How Federal Agencies can Utilize Graph TechnologyThe Five Graphs of Government: How Federal Agencies can Utilize Graph Technology
The Five Graphs of Government: How Federal Agencies can Utilize Graph Technology
 
GraphTalks Rome - Selecting the right Technology
GraphTalks Rome - Selecting the right TechnologyGraphTalks Rome - Selecting the right Technology
GraphTalks Rome - Selecting the right Technology
 
GraphTalks Rome - Introducing Neo4j
GraphTalks Rome - Introducing Neo4jGraphTalks Rome - Introducing Neo4j
GraphTalks Rome - Introducing Neo4j
 
GraphTalks Rome - Identity and Access Management
GraphTalks Rome - Identity and Access ManagementGraphTalks Rome - Identity and Access Management
GraphTalks Rome - Identity and Access Management
 
GraphTalks Rome - The Italian Business Graph
GraphTalks Rome - The Italian Business GraphGraphTalks Rome - The Italian Business Graph
GraphTalks Rome - The Italian Business Graph
 
Knowledge Architecture: Graphing Your Knowledge
Knowledge Architecture: Graphing Your KnowledgeKnowledge Architecture: Graphing Your Knowledge
Knowledge Architecture: Graphing Your Knowledge
 
Webinar: RDBMS to Graphs
Webinar: RDBMS to GraphsWebinar: RDBMS to Graphs
Webinar: RDBMS to Graphs
 
IT in Healthcare
IT in HealthcareIT in Healthcare
IT in Healthcare
 
Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.Dear NSA, let me take care of your slides.
Dear NSA, let me take care of your slides.
 
What I Carry: 10 Tools for Success
What I Carry: 10 Tools for SuccessWhat I Carry: 10 Tools for Success
What I Carry: 10 Tools for Success
 
Visualization of Publication Impact
Visualization of Publication ImpactVisualization of Publication Impact
Visualization of Publication Impact
 
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial Fraud
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial FraudGraphDay Stockholm - Levaraging Graph-Technology to fight Financial Fraud
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial Fraud
 
GraphDay Stockholm - Graphs in Action
GraphDay Stockholm - Graphs in ActionGraphDay Stockholm - Graphs in Action
GraphDay Stockholm - Graphs in Action
 
GraphDay Stockholm - iKnow Solutions - The Value Add of Graphs to Analytics a...
GraphDay Stockholm - iKnow Solutions - The Value Add of Graphs to Analytics a...GraphDay Stockholm - iKnow Solutions - The Value Add of Graphs to Analytics a...
GraphDay Stockholm - iKnow Solutions - The Value Add of Graphs to Analytics a...
 

Similar to Intro to Graphs and Neo4j

New Opportunities for Connected Data - Emil Eifrem @ GraphConnect Boston + Ch...
New Opportunities for Connected Data - Emil Eifrem @ GraphConnect Boston + Ch...New Opportunities for Connected Data - Emil Eifrem @ GraphConnect Boston + Ch...
New Opportunities for Connected Data - Emil Eifrem @ GraphConnect Boston + Ch...
Neo4j
 
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdf
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdfNeo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdf
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdf
Neo4j
 
La bi, l'informatique décisionnelle et les graphes
La bi, l'informatique décisionnelle et les graphesLa bi, l'informatique décisionnelle et les graphes
La bi, l'informatique décisionnelle et les graphes
Cédric Fauvet
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4j
Neo4j
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Neo4j Innovation Lab – Bringing the Best of Data Science and Design Thinking ...
Neo4j Innovation Lab – Bringing the Best of Data Science and Design Thinking ...Neo4j Innovation Lab – Bringing the Best of Data Science and Design Thinking ...
Neo4j Innovation Lab – Bringing the Best of Data Science and Design Thinking ...
Neo4j
 
Connecting the Dots—How a Graph Database Enables Discovery
Connecting the Dots—How a Graph Database Enables DiscoveryConnecting the Dots—How a Graph Database Enables Discovery
Connecting the Dots—How a Graph Database Enables Discovery
Inside Analysis
 
Where 2012 prototyping workshop
Where 2012 prototyping workshopWhere 2012 prototyping workshop
Where 2012 prototyping workshop
Matt Biddulph
 
The Data Platform for Today's Intelligent Applications.pdf
The Data Platform for Today's Intelligent Applications.pdfThe Data Platform for Today's Intelligent Applications.pdf
The Data Platform for Today's Intelligent Applications.pdf
Neo4j
 
raph Databases with Neo4j – Emil Eifrem
raph Databases with Neo4j – Emil Eifremraph Databases with Neo4j – Emil Eifrem
raph Databases with Neo4j – Emil Eifrem
buildacloud
 
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with GraphGraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
Neo4j
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Neo4j
 
The Connected Data Imperative: An Introduction to Neo4j
The Connected Data Imperative: An Introduction to Neo4jThe Connected Data Imperative: An Introduction to Neo4j
The Connected Data Imperative: An Introduction to Neo4j
Neo4j
 
Knowledge Graphs and Generative AI
Knowledge Graphs and Generative AIKnowledge Graphs and Generative AI
Knowledge Graphs and Generative AI
Neo4j
 
Graph-Oriented NoSQL Databases
Graph-Oriented NoSQL  Databases Graph-Oriented NoSQL  Databases
Graph-Oriented NoSQL Databases
Abdelkader OUARED
 
The Art of the Possible with Graph - Sudhir Hasbe - GraphSummit London 14 Nov...
The Art of the Possible with Graph - Sudhir Hasbe - GraphSummit London 14 Nov...The Art of the Possible with Graph - Sudhir Hasbe - GraphSummit London 14 Nov...
The Art of the Possible with Graph - Sudhir Hasbe - GraphSummit London 14 Nov...
Neo4j
 
Intro to Neo4j Webinar
Intro to Neo4j WebinarIntro to Neo4j Webinar
Intro to Neo4j Webinar
Neo4j
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
Neo4j
 
Graph Data Science: The Secret to Accelerating Innovation with AI/ML
Graph Data Science: The Secret to Accelerating Innovation with AI/MLGraph Data Science: The Secret to Accelerating Innovation with AI/ML
Graph Data Science: The Secret to Accelerating Innovation with AI/ML
Neo4j
 
GPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge GraphGPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge Graph
Neo4j
 

Similar to Intro to Graphs and Neo4j (20)

New Opportunities for Connected Data - Emil Eifrem @ GraphConnect Boston + Ch...
New Opportunities for Connected Data - Emil Eifrem @ GraphConnect Boston + Ch...New Opportunities for Connected Data - Emil Eifrem @ GraphConnect Boston + Ch...
New Opportunities for Connected Data - Emil Eifrem @ GraphConnect Boston + Ch...
 
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdf
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdfNeo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdf
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdf
 
La bi, l'informatique décisionnelle et les graphes
La bi, l'informatique décisionnelle et les graphesLa bi, l'informatique décisionnelle et les graphes
La bi, l'informatique décisionnelle et les graphes
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4j
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Neo4j Innovation Lab – Bringing the Best of Data Science and Design Thinking ...
Neo4j Innovation Lab – Bringing the Best of Data Science and Design Thinking ...Neo4j Innovation Lab – Bringing the Best of Data Science and Design Thinking ...
Neo4j Innovation Lab – Bringing the Best of Data Science and Design Thinking ...
 
Connecting the Dots—How a Graph Database Enables Discovery
Connecting the Dots—How a Graph Database Enables DiscoveryConnecting the Dots—How a Graph Database Enables Discovery
Connecting the Dots—How a Graph Database Enables Discovery
 
Where 2012 prototyping workshop
Where 2012 prototyping workshopWhere 2012 prototyping workshop
Where 2012 prototyping workshop
 
The Data Platform for Today's Intelligent Applications.pdf
The Data Platform for Today's Intelligent Applications.pdfThe Data Platform for Today's Intelligent Applications.pdf
The Data Platform for Today's Intelligent Applications.pdf
 
raph Databases with Neo4j – Emil Eifrem
raph Databases with Neo4j – Emil Eifremraph Databases with Neo4j – Emil Eifrem
raph Databases with Neo4j – Emil Eifrem
 
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with GraphGraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
The Connected Data Imperative: An Introduction to Neo4j
The Connected Data Imperative: An Introduction to Neo4jThe Connected Data Imperative: An Introduction to Neo4j
The Connected Data Imperative: An Introduction to Neo4j
 
Knowledge Graphs and Generative AI
Knowledge Graphs and Generative AIKnowledge Graphs and Generative AI
Knowledge Graphs and Generative AI
 
Graph-Oriented NoSQL Databases
Graph-Oriented NoSQL  Databases Graph-Oriented NoSQL  Databases
Graph-Oriented NoSQL Databases
 
The Art of the Possible with Graph - Sudhir Hasbe - GraphSummit London 14 Nov...
The Art of the Possible with Graph - Sudhir Hasbe - GraphSummit London 14 Nov...The Art of the Possible with Graph - Sudhir Hasbe - GraphSummit London 14 Nov...
The Art of the Possible with Graph - Sudhir Hasbe - GraphSummit London 14 Nov...
 
Intro to Neo4j Webinar
Intro to Neo4j WebinarIntro to Neo4j Webinar
Intro to Neo4j Webinar
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
 
Graph Data Science: The Secret to Accelerating Innovation with AI/ML
Graph Data Science: The Secret to Accelerating Innovation with AI/MLGraph Data Science: The Secret to Accelerating Innovation with AI/ML
Graph Data Science: The Secret to Accelerating Innovation with AI/ML
 
GPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge GraphGPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge Graph
 

More from jexp

Looming Marvelous - Virtual Threads in Java Javaland.pdf
Looming Marvelous - Virtual Threads in Java Javaland.pdfLooming Marvelous - Virtual Threads in Java Javaland.pdf
Looming Marvelous - Virtual Threads in Java Javaland.pdf
jexp
 
Easing the daily grind with the awesome JDK command line tools
Easing the daily grind with the awesome JDK command line toolsEasing the daily grind with the awesome JDK command line tools
Easing the daily grind with the awesome JDK command line tools
jexp
 
Looming Marvelous - Virtual Threads in Java
Looming Marvelous - Virtual Threads in JavaLooming Marvelous - Virtual Threads in Java
Looming Marvelous - Virtual Threads in Java
jexp
 
GraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptx
GraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptxGraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptx
GraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptx
jexp
 
Neo4j Connector Apache Spark FiNCENFiles
Neo4j Connector Apache Spark FiNCENFilesNeo4j Connector Apache Spark FiNCENFiles
Neo4j Connector Apache Spark FiNCENFiles
jexp
 
How Graphs Help Investigative Journalists to Connect the Dots
How Graphs Help Investigative Journalists to Connect the DotsHow Graphs Help Investigative Journalists to Connect the Dots
How Graphs Help Investigative Journalists to Connect the Dots
jexp
 
The Home Office. Does it really work?
The Home Office. Does it really work?The Home Office. Does it really work?
The Home Office. Does it really work?
jexp
 
Polyglot Applications with GraalVM
Polyglot Applications with GraalVMPolyglot Applications with GraalVM
Polyglot Applications with GraalVM
jexp
 
Neo4j Graph Streaming Services with Apache Kafka
Neo4j Graph Streaming Services with Apache KafkaNeo4j Graph Streaming Services with Apache Kafka
Neo4j Graph Streaming Services with Apache Kafka
jexp
 
How Graph Databases efficiently store, manage and query connected data at s...
How Graph Databases efficiently  store, manage and query  connected data at s...How Graph Databases efficiently  store, manage and query  connected data at s...
How Graph Databases efficiently store, manage and query connected data at s...
jexp
 
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures LibraryAPOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
jexp
 
Refactoring, 2nd Edition
Refactoring, 2nd EditionRefactoring, 2nd Edition
Refactoring, 2nd Edition
jexp
 
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
jexp
 
GraphQL - The new "Lingua Franca" for API-Development
GraphQL - The new "Lingua Franca" for API-DevelopmentGraphQL - The new "Lingua Franca" for API-Development
GraphQL - The new "Lingua Franca" for API-Development
jexp
 
A whirlwind tour of graph databases
A whirlwind tour of graph databasesA whirlwind tour of graph databases
A whirlwind tour of graph databases
jexp
 
Practical Graph Algorithms with Neo4j
Practical Graph Algorithms with Neo4jPractical Graph Algorithms with Neo4j
Practical Graph Algorithms with Neo4j
jexp
 
A Game of Data and GraphQL
A Game of Data and GraphQLA Game of Data and GraphQL
A Game of Data and GraphQL
jexp
 
Querying Graphs with GraphQL
Querying Graphs with GraphQLQuerying Graphs with GraphQL
Querying Graphs with GraphQL
jexp
 
Graphs & Neo4j - Past Present Future
Graphs & Neo4j - Past Present FutureGraphs & Neo4j - Past Present Future
Graphs & Neo4j - Past Present Future
jexp
 
Class graph neo4j and software metrics
Class graph neo4j and software metricsClass graph neo4j and software metrics
Class graph neo4j and software metrics
jexp
 

More from jexp (20)

Looming Marvelous - Virtual Threads in Java Javaland.pdf
Looming Marvelous - Virtual Threads in Java Javaland.pdfLooming Marvelous - Virtual Threads in Java Javaland.pdf
Looming Marvelous - Virtual Threads in Java Javaland.pdf
 
Easing the daily grind with the awesome JDK command line tools
Easing the daily grind with the awesome JDK command line toolsEasing the daily grind with the awesome JDK command line tools
Easing the daily grind with the awesome JDK command line tools
 
Looming Marvelous - Virtual Threads in Java
Looming Marvelous - Virtual Threads in JavaLooming Marvelous - Virtual Threads in Java
Looming Marvelous - Virtual Threads in Java
 
GraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptx
GraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptxGraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptx
GraphConnect 2022 - Top 10 Cypher Tuning Tips & Tricks.pptx
 
Neo4j Connector Apache Spark FiNCENFiles
Neo4j Connector Apache Spark FiNCENFilesNeo4j Connector Apache Spark FiNCENFiles
Neo4j Connector Apache Spark FiNCENFiles
 
How Graphs Help Investigative Journalists to Connect the Dots
How Graphs Help Investigative Journalists to Connect the DotsHow Graphs Help Investigative Journalists to Connect the Dots
How Graphs Help Investigative Journalists to Connect the Dots
 
The Home Office. Does it really work?
The Home Office. Does it really work?The Home Office. Does it really work?
The Home Office. Does it really work?
 
Polyglot Applications with GraalVM
Polyglot Applications with GraalVMPolyglot Applications with GraalVM
Polyglot Applications with GraalVM
 
Neo4j Graph Streaming Services with Apache Kafka
Neo4j Graph Streaming Services with Apache KafkaNeo4j Graph Streaming Services with Apache Kafka
Neo4j Graph Streaming Services with Apache Kafka
 
How Graph Databases efficiently store, manage and query connected data at s...
How Graph Databases efficiently  store, manage and query  connected data at s...How Graph Databases efficiently  store, manage and query  connected data at s...
How Graph Databases efficiently store, manage and query connected data at s...
 
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures LibraryAPOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
 
Refactoring, 2nd Edition
Refactoring, 2nd EditionRefactoring, 2nd Edition
Refactoring, 2nd Edition
 
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
 
GraphQL - The new "Lingua Franca" for API-Development
GraphQL - The new "Lingua Franca" for API-DevelopmentGraphQL - The new "Lingua Franca" for API-Development
GraphQL - The new "Lingua Franca" for API-Development
 
A whirlwind tour of graph databases
A whirlwind tour of graph databasesA whirlwind tour of graph databases
A whirlwind tour of graph databases
 
Practical Graph Algorithms with Neo4j
Practical Graph Algorithms with Neo4jPractical Graph Algorithms with Neo4j
Practical Graph Algorithms with Neo4j
 
A Game of Data and GraphQL
A Game of Data and GraphQLA Game of Data and GraphQL
A Game of Data and GraphQL
 
Querying Graphs with GraphQL
Querying Graphs with GraphQLQuerying Graphs with GraphQL
Querying Graphs with GraphQL
 
Graphs & Neo4j - Past Present Future
Graphs & Neo4j - Past Present FutureGraphs & Neo4j - Past Present Future
Graphs & Neo4j - Past Present Future
 
Class graph neo4j and software metrics
Class graph neo4j and software metricsClass graph neo4j and software metrics
Class graph neo4j and software metrics
 

Recently uploaded

Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
Priyanka Aash
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
Jimmy Lai
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
BrainSell Technologies
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
ssuser1915fe1
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
Brian Pichman
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
ldtexsolbl
 
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
Priyanka Aash
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Networks
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
David Wilson
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
ankush9927
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
Matthias Neugebauer
 
Integrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecaseIntegrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecase
shyamraj55
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
bellared2
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
shanihomely
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
SynapseIndia
 
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
Priyanka Aash
 
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptxIntroduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
313mohammedarshad
 
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptxMAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
janagijoythi
 

Recently uploaded (20)

Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
 
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
 
Integrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecaseIntegrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecase
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
 
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
 
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptxIntroduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
 
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptxMAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
 

Intro to Graphs and Neo4j

  • 1. (c) Neo Technology, Inc 2014 Graph Database Introduction Meetup April 2014 Michael Hunger michael@neotechnology.com @mesirii @neo4j
  • 2. (c) Neo Technology, Inc 2014 Agenda 1. Why Graphs,Why Now? 2. What Is A Graph, Anyway? 3. Graphs In The Real World 4. The Graph Landscape i) Popular Graph Models ii) Graph Databases iii)Graph Compute Engines
  • 3. (c) Neo Technology, Inc 2014 Why Graphs?
  • 4. (c) Neo Technology, Inc 2014 The World is a Graph
  • 5. (c) Neo Technology, Inc 2014 Some Use-Cases
  • 6. (c) Neo Technology, Inc 2014 Social  Network
  • 7. (c) Neo Technology, Inc 2014 (Network)  Impact  Analysis
  • 8. (c) Neo Technology, Inc 2014 Route  Finding
  • 9. (c) Neo Technology, Inc 2014 Recommenda<ons
  • 10. (c) Neo Technology, Inc 2014 Logis<cs
  • 11. (c) Neo Technology, Inc 2014 Access  Control
  • 12. (c) Neo Technology, Inc 2014 Fraud  Analysis
  • 13. (c) Neo Technology, Inc 2014 Securi<es  &  Debt
  • 14. (c) Neo Technology, Inc 2014 What Is A Graph, Anyway?
  • 15. (c) Neo Technology, Inc 2014 A  Graph Node Relationship
  • 16. (c) Neo Technology, Inc 2014 Four Graph Model Building Blocks
  • 17. (c) Neo Technology, Inc 2014 Property  Graph  Data  Model
  • 18. (c) Neo Technology, Inc 2014 Nodes
  • 19. (c) Neo Technology, Inc 2014 Rela<onships
  • 20. (c) Neo Technology, Inc 2014 Rela<onships  (con<nued) Nodes  can  have  more   than  one  rela<onship Self  rela<onships  are  allowed Nodes  can  be  connected  by  more   than  one  rela<onship
  • 21. (c) Neo Technology, Inc 2014 Labels
  • 22. (c) Neo Technology, Inc 2014 Four  Building  Blocks ๏ Nodes   • En<<es   ๏ Rela<onships   • Connect  en<<es  and  structure  domain   ๏ Proper<es   • AJributes  and  metadata   ๏ Labels   • Group  nodes  by  role
  • 23. (c) Neo Technology, Inc 2014 Whiteboard Friendlyness Easy to design and model direct representation of the model
  • 25. (c) Neo Technology, Inc 2014 Tom Hanks Hugo Weaving Cloud Atlas The Matrix Lana Wachowski ACTED_IN ACTED_IN ACTED_IN DIRECTED DIRECTED
  • 26. (c) Neo Technology, Inc 2014 name: Tom Hanks born: 1956 title: Cloud Atlas released: 2012 title: The Matrix released: 1999 name: Lana Wachowski born: 1965 ACTED_IN roles: Zachry ACTED_IN roles: Bill Smoke DIRECTED DIRECTED ACTED_IN roles: Agent Smith name: Hugo Weaving born: 1960 Person Movie Movie Person Director ActorPerson Actor
  • 28. (c) Neo Technology, Inc 2014 Aggregate vs. Connected Data-Model
  • 29. (c) Neo Technology, Inc 2014 What is NOSQL? It’s not “No to SQL” It’s not “Never SQL” It’s “Not Only SQL” NOSQL no-seek-wool n. Describes ongoing trend where developers increasingly opt for non-relational databases to help solve their problems, in an effort to use the right tool for the right job.
  • 30. (c) Neo Technology, Inc 2014 NOSQL Relational Graph Document KeyValue Riak Column oriented Redis Cassandra Mongo Couch Neo4j MySQL Postgres NOSQL Databases
  • 31. (c) Neo Technology, Inc 2014 31
  • 32. (c) Neo Technology, Inc 2014 31 Living in a NOSQL World
  • 33. (c) Neo Technology, Inc 2014 31 Living in a NOSQL World Volume ~= Size
  • 34. (c) Neo Technology, Inc 2014 31 Living in a NOSQL World Density~=Complexity Volume ~= Size
  • 35. (c) Neo Technology, Inc 2014 31 Living in a NOSQL World Density~=Complexity Volume ~= Size Key-Value Store
  • 36. (c) Neo Technology, Inc 2014 31 Living in a NOSQL World Density~=Complexity Column Family Volume ~= Size Key-Value Store
  • 37. (c) Neo Technology, Inc 2014 31 Living in a NOSQL World Density~=Complexity Column Family Volume ~= Size Key-Value Store Document Databases
  • 38. (c) Neo Technology, Inc 2014 31 Living in a NOSQL World RDBMS Density~=Complexity Column Family Volume ~= Size Key-Value Store Document Databases
  • 39. (c) Neo Technology, Inc 2014 31 Living in a NOSQL World RDBMS Density~=Complexity Column Family Volume ~= Size Key-Value Store Document Databases Graph Databases
  • 40. (c) Neo Technology, Inc 2014 31 Living in a NOSQL World RDBMS Density~=Complexity Column Family Volume ~= Size Key-Value Store Document Databases Graph Databases 90% of use cases
  • 41. (c) Neo Technology, Inc 2014 31 Living in a NOSQL World RDBMS Density~=Complexity Column Family Volume ~= Size Key-Value Store Document Databases Graph Databases 90% of use cases
  • 42. (c) Neo Technology, Inc 2014 31 Living in a NOSQL World Aggregate Oriented RDBMS Density~=Complexity Column Family Volume ~= Size Key-Value Store Document Databases Graph Databases 90% of use cases
  • 43. (c) Neo Technology, Inc 2014 “There is a significant downside - the whole approach works really well when data access is aligned with the aggregates, but what if you want to look at the data in a different way? Order entry naturally stores orders as aggregates, but analyzing product sales cuts across the aggregate structure. The advantage of not using an aggregate structure in the database is that it allows you to slice and dice your data different ways for different audiences. ! This is why aggregate-oriented stores talk so much about map- reduce.” Martin Fowler Aggregate Oriented Model
  • 44. (c) Neo Technology, Inc 2014 The connected data model is based on fine grained elements that are richly connected, the emphasis is on extracting many dimensions and attributes as elements. Connections are cheap and can be used not only for the domain-level relationships but also for additional structures that allow efficient access for different use-cases. The fine grained model requires a external scope for mutating operations that ensures Atomicity, Consistency, Isolation and Durability - ACID also known as Transactions. ! Michael Hunger Connected Data Model
  • 45. (c) Neo Technology, Inc 2014 Relational vs. Graph 34
  • 46. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34
  • 47. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34
  • 48. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 users
  • 49. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 users skills
  • 50. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 users skillsuser_skill
  • 51. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 users skillsuser_skill
  • 52. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 users skillsuser_skill
  • 53. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 users skillsuser_skill
  • 54. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 now consider relationships...
  • 55. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 now consider relationships...
  • 56. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 now consider relationships...
  • 57. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 now consider relationships...
  • 58. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 now consider relationships...
  • 59. (c) Neo Technology, Inc 2014 Relational vs. Graph You know relational 34 now consider relationships...
  • 60. (c) Neo Technology, Inc 2014 Relational vs. Graph 34
  • 61. (c) Neo Technology, Inc 2014 35
  • 62. (c) Neo Technology, Inc 2014 Looks different, fine.Who cares? 35
  • 63. (c) Neo Technology, Inc 2014 Looks different, fine.Who cares? ๏a sample social graph 35
  • 64. (c) Neo Technology, Inc 2014 Looks different, fine.Who cares? ๏a sample social graph •with ~1,000 persons 35
  • 65. (c) Neo Technology, Inc 2014 Looks different, fine.Who cares? ๏a sample social graph •with ~1,000 persons ๏average 50 friends per person 35
  • 66. (c) Neo Technology, Inc 2014 Looks different, fine.Who cares? ๏a sample social graph •with ~1,000 persons ๏average 50 friends per person ๏pathExists(a,b) limited to depth 4 35
  • 67. (c) Neo Technology, Inc 2014 Looks different, fine.Who cares? ๏a sample social graph •with ~1,000 persons ๏average 50 friends per person ๏pathExists(a,b) limited to depth 4 ๏caches warmed up to eliminate disk I/O 35
  • 68. (c) Neo Technology, Inc 2014 Looks different, fine.Who cares? ๏a sample social graph •with ~1,000 persons ๏average 50 friends per person ๏pathExists(a,b) limited to depth 4 ๏caches warmed up to eliminate disk I/O 35 # persons query time Relational database 1.000 2000ms
  • 69. (c) Neo Technology, Inc 2014 Looks different, fine.Who cares? ๏a sample social graph •with ~1,000 persons ๏average 50 friends per person ๏pathExists(a,b) limited to depth 4 ๏caches warmed up to eliminate disk I/O 35 # persons query time Relational database 1.000 2000ms Neo4j 1.000 2ms
  • 70. (c) Neo Technology, Inc 2014 Looks different, fine.Who cares? ๏a sample social graph •with ~1,000 persons ๏average 50 friends per person ๏pathExists(a,b) limited to depth 4 ๏caches warmed up to eliminate disk I/O 35 # persons query time Relational database 1.000 2000ms Neo4j 1.000 2ms Neo4j 1.000.000 2ms
  • 71. (c) Neo Technology, Inc 2014 35
  • 72. (c) Neo Technology, Inc 2014 Neo4j is a Graph Database
  • 73. (c) Neo Technology, Inc 2014 Neo4j is a Graph Database • A Graph Database:
  • 74. (c) Neo Technology, Inc 2014 Neo4j is a Graph Database • A Graph Database: • a schema-free labeled Property Graph
  • 75. (c) Neo Technology, Inc 2014 Neo4j is a Graph Database • A Graph Database: • a schema-free labeled Property Graph • perfect for complex, highly connected data
  • 76. (c) Neo Technology, Inc 2014 Neo4j is a Graph Database • A Graph Database: • a schema-free labeled Property Graph • perfect for complex, highly connected data • A Graph Database:
  • 77. (c) Neo Technology, Inc 2014 Neo4j is a Graph Database • A Graph Database: • a schema-free labeled Property Graph • perfect for complex, highly connected data • A Graph Database: • reliable with real ACID Transactions
  • 78. (c) Neo Technology, Inc 2014 Neo4j is a Graph Database • A Graph Database: • a schema-free labeled Property Graph • perfect for complex, highly connected data • A Graph Database: • reliable with real ACID Transactions • scalable: Billions of Nodes and Relationships, Scale out with highly available Neo4j-Cluster
  • 79. (c) Neo Technology, Inc 2014 Neo4j is a Graph Database • A Graph Database: • a schema-free labeled Property Graph • perfect for complex, highly connected data • A Graph Database: • reliable with real ACID Transactions • scalable: Billions of Nodes and Relationships, Scale out with highly available Neo4j-Cluster • fast with more than 2M traversals / second
  • 80. (c) Neo Technology, Inc 2014 Neo4j is a Graph Database • A Graph Database: • a schema-free labeled Property Graph • perfect for complex, highly connected data • A Graph Database: • reliable with real ACID Transactions • scalable: Billions of Nodes and Relationships, Scale out with highly available Neo4j-Cluster • fast with more than 2M traversals / second • Server with HTTP API, or Embeddable on the JVM
  • 81. (c) Neo Technology, Inc 2014 Neo4j is a Graph Database • A Graph Database: • a schema-free labeled Property Graph • perfect for complex, highly connected data • A Graph Database: • reliable with real ACID Transactions • scalable: Billions of Nodes and Relationships, Scale out with highly available Neo4j-Cluster • fast with more than 2M traversals / second • Server with HTTP API, or Embeddable on the JVM • Declarative Query Language
  • 82. (c) Neo Technology, Inc 2014 Graph Database: Pros & Cons • Strengths • Powerful data model, as general as RDBMS • Whiteboard friendly, agile development • Fast, for connected data • Easy to query • Weaknesses: • Sharding (they can scale up and out reasonably well) • Global Queries / Number Crunching • Binary Data / Blobs • Requires conceptual shift • graph-like thinking becomes addictive
  • 83. (c) Neo Technology, Inc 2014 Graph Querying
  • 84. (c) Neo Technology, Inc 2014 You know how to query a relational database!
  • 85. (c) Neo Technology, Inc 2014 40
  • 86. (c) Neo Technology, Inc 2014 Just use SQL 40
  • 87. (c) Neo Technology, Inc 2014 Just use SQL 40users skillsuser_skills
  • 88. (c) Neo Technology, Inc 2014 Just use SQL 40users skillsuser_skills select skills.name from users join user_skills on (...) join skills on (...) where users.name = “Michael“
  • 89. (c) Neo Technology, Inc 2014 How to query a graph?
  • 90. (c) Neo Technology, Inc 2014 42
  • 91. (c) Neo Technology, Inc 2014 You traverse the graph 42
  • 92. (c) Neo Technology, Inc 2014 // find starting nodes MATCH (me:Person {name:'Andreas'}) Andreas You traverse the graph 42
  • 93. (c) Neo Technology, Inc 2014 // find starting nodes MATCH (me:Person {name:'Andreas'}) // then traverse the relationships MATCH (me:Person {name:'Andreas'})-[:FRIEND]-(friend) -[:FRIEND]-(friend2) RETURN friend2 Andreas You traverse the graph 42
  • 94. (c) Neo Technology, Inc 2014 Cypher a pattern-matching query language for graphs
  • 95. (c) Neo Technology, Inc 2014 Cypher attributes #1 Declarative You tell Cypher what you want, not how to get it 44
  • 96. (c) Neo Technology, Inc 2014 Cypher attributes #2 Expressive Optimize syntax for reading 45 MATCH (a:Actor)-[r:ACTS_IN]->(m:Movie) RETURN a.name, r.role, m.title
  • 97. (c) Neo Technology, Inc 2014 Cypher attributes #3 Pattern Matching Patterns are easy for your human brain 46
  • 98. (c) Neo Technology, Inc 2014 Cypher attributes #4 Idempotent State change should be expressed idempotently 47
  • 99. (c) Neo Technology, Inc 2014 Query Structure
  • 100. (c) Neo Technology, Inc 2014 MATCH (n:Label)-[:REL]->(m:Label) WHERE n.prop < 42 WITH n, count(m) as cnt,
 collect(m.attr) as attrs WHERE cnt > 12 RETURN n.prop, extract(a2 in
 filter(a1 in attrs WHERE a1 =~ "...-.*") | substr(a2,4,size(a2)-1)] AS ids ORDER BY length(ids) DESC LIMIT 10 Query Structure
  • 101. (c) Neo Technology, Inc 2014 MATCH describes the pattern
  • 102. (c) Neo Technology, Inc 2014 MATCH (n:Label)-[:REL]->(m:Label) WHERE n.prop < 42 WITH n, count(m) as cnt,
 collect(m.attr) as attrs WHERE cnt > 12 RETURN n.prop, extract(a2 in
 filter(a1 in attrs WHERE a1 =~ "...-.*") | substr(a2,4,size(a2)-1)] AS ids ORDER BY length(ids) DESC SKIP 5 LIMIT 10 MATCH - Pattern
  • 103. (c) Neo Technology, Inc 2014 WHERE filters the result set
  • 104. (c) Neo Technology, Inc 2014 MATCH (n:Label)-[:REL]->(m:Label) WHERE n.prop < 42 WITH n, count(m) as cnt,
 collect(m.attr) as attrs WHERE cnt > 12 RETURN n.prop, extract(a2 in
 filter(a1 in attrs WHERE a1 =~ "...-.*") | substr(a2,4,size(a2)-1)] AS ids ORDER BY length(ids) DESC SKIP 5 LIMIT 10 WHERE - filter
  • 105. (c) Neo Technology, Inc 2014 RETURN returns the result rows
  • 106. (c) Neo Technology, Inc 2014 MATCH (n:Label)-[:REL]->(m:Label) WHERE n.prop < 42 WITH n, count(m) as cnt,
 collect(m.attr) as attrs WHERE cnt > 12 RETURN n.prop, extract(a2 in
 filter(a1 in attrs WHERE a1 =~ "...-.*") | substr(a2,4,size(a2)-1)] AS ids ORDER BY length(ids) DESC SKIP 5 LIMIT 10 RETURN - project
  • 107. (c) Neo Technology, Inc 2014 ORDER BY LIMIT SKIP sort and paginate
  • 108. (c) Neo Technology, Inc 2014 MATCH (n:Label)-[:REL]->(m:Label) WHERE n.prop < 42 WITH n, count(m) as cnt,
 collect(m.attr) as attrs WHERE cnt > 12 RETURN n.prop, extract(a2 in
 filter(a1 in attrs WHERE a1 =~ "...-.*") | substr(a2,4,size(a2)-1)] AS ids ORDER BY length(ids) DESC SKIP 5 LIMIT 10 ORDER BY LIMIT - Paginate
  • 109. (c) Neo Technology, Inc 2014 WITH combines query parts like a pipe
  • 110. (c) Neo Technology, Inc 2014 MATCH (n:Label)-[:REL]->(m:Label) WHERE n.prop < 42 WITH n, count(m) as cnt,
 collect(m.attr) as attrs WHERE cnt > 12 RETURN n.prop, extract(a2 in
 filter(a1 in attrs WHERE a1 =~ "...-.*") | substr(a2,4,size(a2)-1)] AS ids ORDER BY length(ids) DESC SKIP 5 LIMIT 10 WITH + WHERE = HAVING
  • 111. (c) Neo Technology, Inc 2014 Collections powerful datastructure handling
  • 112. (c) Neo Technology, Inc 2014 MATCH (n:Label)-[:REL]->(m:Label) WHERE n.prop < 42 WITH n, count(m) as cnt,
 collect(m.attr) as attrs WHERE cnt > 12 RETURN n.prop, extract(a2 in
 filter(a1 in attrs WHERE a1 =~ "...-.*") | substr(a2,4,size(a2)-1)] AS ids ORDER BY length(ids) DESC LIMIT 10 Collections
  • 113. (c) Neo Technology, Inc 2014 MATCH (:Country {name:"Sweden"}) <-[:REGISTERED_IN]-(c:Company) <-[:WORKS_AT]-(p:Person:Developer) WHERE p.age < 42 WITH c, count(p) as cnt,
 collect(p.empId) as emp_ids WHERE cnt > 12 RETURN c.name AS company_name, extract(id2 in
 filter(id1 in emp_ids WHERE id1 =~ "...-.*") | substr(id2,4,size(id2)-1)] AS last_emp_id_digits ORDER BY length(last_emp_id_digits) DESC SKIP 5 LIMIT 10 Concrete Example
  • 114. (c) Neo Technology, Inc 2014 CREATE creates nodes, relationships and patterns
  • 115. (c) Neo Technology, Inc 2014 CREATE (y:Year {year:2014}) FOREACH (m IN range(1,12) | CREATE (:Month {month:m})-[:IN]->(y) ) CREATE - nodes, rels, structures
  • 116. (c) Neo Technology, Inc 2014 MERGE matches or creates
  • 117. (c) Neo Technology, Inc 2014 MERGE (y:Year {year:2014})
 ON CREATE SET y.created = timestamp() FOREACH (m IN range(1,12) | MERGE (:Month {month:m})-[:IN]->(y) ) MERGE - get or create
  • 118. (c) Neo Technology, Inc 2014 SET, REMOVE update attributes and labels
  • 119. (c) Neo Technology, Inc 2014 MATCH (year:Year)
 WHERE year.year % 4 = 0 OR year.year % 100 <> 0 AND year.year % 400 = 0 SET year:Leap WITH year MATCH (year)<-[:IN]-(feb:Month {month:2}) SET feb.days = 29
 CREATE (feb)<-[:IN]-(:Day {day:29}) SET, REMOVE, DELETE
  • 120. (c) Neo Technology, Inc 2014 INDEX, CONSTRAINTS represent optional schema
  • 121. (c) Neo Technology, Inc 2014 CREATE CONSTRAINT ON (y:Year) ASSERT y.year IS UNIQUE ! CREATE INDEX ON :Month(month) INDEX / CONSTRAINT
  • 122. (c) Neo Technology, Inc 2014 Graph Query Examples
  • 123. (c) Neo Technology, Inc 2014 Social Recommendation
  • 124. (c) Neo Technology, Inc 2014
  • 125. (c) Neo Technology, Inc 2014
  • 126. (c) Neo Technology, Inc 2014 MATCH (person:Person)-[:IS_FRIEND_OF]->(friend), (friend)-[:LIKES]->(restaurant), (restaurant)-[:LOCATED_IN]->(loc:Location), (restaurant)-[:SERVES]->(type:Cuisine) ! WHERE person.name = 'Philip' AND loc.location='New York' AND type.cuisine='Sushi' ! RETURN restaurant.name * Cypher query language examplehttp://maxdemarzi.com/?s=facebook
  • 127. (c) Neo Technology, Inc 2014
  • 128. (c) Neo Technology, Inc 2014
  • 129. (c) Neo Technology, Inc 2014 Network Management Example
  • 130. (c) Neo Technology, Inc 2014 Network Management - Create CREATE ! ! (crm {name:"CRM"}),! ! (dbvm {name:"Database VM"}),! ! (www {name:"Public Website"}),! ! (wwwvm {name:"Webserver VM"}),! ! (srv1 {name:"Server 1"}),! ! (san {name:"SAN"}),! ! (srv2 {name:"Server 2"}),! ! ! (crm)-[:DEPENDS_ON]->(dbvm),! ! (dbvm)-[:DEPENDS_ON]->(srv2),! ! (srv2)-[:DEPENDS_ON]->(san),! ! (www)-[:DEPENDS_ON]->(dbvm),! ! (www)-[:DEPENDS_ON]->(wwwvm),! ! (wwwvm)-[:DEPENDS_ON]->(srv1),! ! (srv1)-[:DEPENDS_ON]->(san)! Practical Cypher
  • 131. (c) Neo Technology, Inc 2014 Network Management - Impact Analysis // Server 1 Outage! MATCH (n)<-[:DEPENDS_ON*]-(upstream)! WHERE n.name = "Server 1"! RETURN upstream! Practical Cypher upstream {name:"Webserver VM"} {name:"Public Website"}
  • 132. (c) Neo Technology, Inc 2014 Network Management - Dependency Analysis // Public website dependencies! MATCH (n)-[:DEPENDS_ON*]->(downstream)! WHERE n.name = "Public Website"! RETURN downstream! ! Practical Cypher downstream {name:"Database VM"} {name:"Server 2"} {name:"SAN"} {name:"Webserver VM"} {name:"Server 1"}
  • 133. (c) Neo Technology, Inc 2014 Network Management - Statistics // Most depended on component! MATCH (n)<-[:DEPENDS_ON*]-(dependent)! RETURN n, ! count(DISTINCT dependent) ! AS dependents! ORDER BY dependents DESC! LIMIT 1 Practical Cypher n dependents {name:"SAN"} 6
  • 134. (c) Neo Technology, Inc 2014 ๏ Full day Neo4j Training & Online Training ๏ Free e-Books • Graph Databases, Neo4j 2.0 (DE) ๏ neo4j.org • http://neo4j.org/develop/modeling ๏ docs.neo4j.org • Data Modeling Examples ๏ http://console.neo4j.org ๏ http://gist.neo4j.org ๏ Get Neo4j • http://neo4j.org/download ๏ Participate • http://groups.google.com/group/neo4j How to get started? 81
  • 135. (c) Neo Technology, Inc 2014 ThankYou Time for Questions!