SlideShare una empresa de Scribd logo
1 de 79
Descargar para leer sin conexión
Modelling
Data in Neo4j
plus a few best practices and lessons learned
by Michal Bachman

GraphAware

TM
GraphAware

TM
Contents

GraphAware

TM
Contents
Quick intro

GraphAware

TM
Contents
Quick intro
1x mistake

GraphAware

TM
Contents
Quick intro
1x mistake
1x experiment

GraphAware

TM
Contents
Quick intro
1x mistake
1x experiment
1x FAQ

GraphAware

TM
Contents
Quick intro
1x mistake
1x experiment
1x FAQ
1x case-study

GraphAware

TM
Data Has Changed

GraphAware

TM
Data Has Changed
Larger Volumes

GraphAware

TM
Data Has Changed
Larger Volumes
Less Structured

GraphAware

TM
Data Has Changed
Larger Volumes
Less Structured
More Interconnected

GraphAware

TM
Data Has Changed
Larger Volumes
Less Structured
More Interconnected
Polygot Persistence

GraphAware

TM
NoSQL

GraphAware

TM
NoSQL
Key-Value Stores

GraphAware

TM
NoSQL
Key-Value Stores
Column-Family Stores

GraphAware

TM
NoSQL
Key-Value Stores
Column-Family Stores
Document Databases

GraphAware

TM
NoSQL
Key-Value Stores
Column-Family Stores
Document Databases
Graph Databases

GraphAware

TM
Graph Databases
The first three use aggregate data
models, graph databases work with simple
records and complex interconnections.

GraphAware

TM
Neo4j

GraphAware

TM
Neo4j
Open-source

GraphAware

TM
Neo4j
Open-source
Schema-less

GraphAware

TM
Neo4j
Open-source
Schema-less
JVM-based

GraphAware

TM
Neo4j
Open-source
Schema-less
JVM-based
Fully ACID

GraphAware

TM
Property Graph

name: "Triller"
type: "genre"

name: "Drama"
type: "genre"

IS
_

OF
_G
EN

RE

ED
CT

ipsum

IS_A

IS_

A

_
IS

name: "Pulp Fiction"
year: 1994
type: "movie"

name: "Director"
type: "occupation"

A

name: "Actor"
type: "occupation"

IS_OF_GENRE

RE
DI

A

ED
CT

le:
ro
name: "Samuel L. Jackson"
type: "person"

name: "Quentin Tarantino"
type: "person"

_IN

imm
"J

Dim
ie

ck"
mi

N
D_I
ld"
TE
AC
nfie
Win
les
"J u
:
ole
r

GraphAware

TM
Traversal

name: "Triller"
type: "genre"

name: "Drama"
type: "genre"

IS
_

OF
_G
EN

RE

IS_

IS_A

ED
CT

A

_
IS

name: "Pulp Fiction"
year: 1994
type: "movie"

name: "Director"
type: "occupation"

A

name: "Actor"
type: "occupation"

IS_OF_GENRE

E
IR
D

A

ED
CT

le:
ro
name: "Samuel L. Jackson"
type: "person"

_IN

imm
"J

name: "Quentin Tarantino"
type: "person"

Dim
ie

"
ick
m

_IN
D

A

:
ole
r

E
CT

les
"J u

"
eld
fi
inn
W

GraphAware

TM
Modeling Data as Graphs
There is no single correct way.

GraphAware

TM
One Way

name: "Triller"
type: "genre"

name: "Drama"
type: "genre"

IS
_

OF
_G
EN

RE

ED
CT

ipsum

IS_A

IS_

A

_
IS

name: "Pulp Fiction"
year: 1994
type: "movie"

name: "Director"
type: "occupation"

A

name: "Actor"
type: "occupation"

IS_OF_GENRE

RE
DI

A

ED
CT

le:
ro
name: "Samuel L. Jackson"
type: "person"

name: "Quentin Tarantino"
type: "person"

_IN

imm
"J

Dim
ie

ck"
mi

N
D_I
ld"
TE
AC
nfie
Win
les
"J u
:
ole
r

GraphAware

TM
name: "Pulp Fiction"
year: 1994
type: "movie"
genres: "Drama", "Thriller"

TE
R
AC
AR
CH

CT
ED
DI
RE

name: "Quentin Tarantino"
type: "person"
occupation: "Actor", "Director"

_IN
TER

ACTED_AS

RAC

name: "Jimmie Dimmick"
type: "role"

CHA

_IN

Another Way

name: "Jules Winnfield"
type: "role"

ACTED_AS

name: "Samuel L. Jackson"
type: "person"
occupation: "Actor"

GraphAware

TM
Bidirectional
Relationships
a common mistake

GraphAware

TM
Ice Hockey

Czech
Republic

DEFEATED

Sweden

GraphAware

TM
Ice Hockey

Czech
Republic

DEFEATED

Sweden

GraphAware

TM
Ice Hockey (Implied Relationship)

DEFEATED
Czech
Republic

Sweden

DEFEATED_BY

GraphAware

TM
Ice Hockey (Implied Relationship)

DEFEATED
Czech
Republic

Sweden

DEFEATED_BY

GraphAware

TM
Traversals
In Neo4j, the speed of traversal does not
depend on the direction of the relationships
being traversed.

GraphAware

TM
Why?
GraphAware

TM
TM
Node Record in the Node Store (9 bytes), first bit = inUse flag
next
relationship
(35 bits)

next
property
(36 bits)

Relationship Record in the Relationship Store (33 bytes), first bit = inUse flag, second bit unused
first node's
first node's
second
second
type
previous
next
node's first
node's next next property
first node
second node
(16
relationship relationship relationship relationship
(36 bits)
(35 bits)
(35 bits)
bits)
(35 bits)
(35 bits)
(35 bits)
(35 bits)

Neo4j Data Layout

GraphAware

TM
Company Partnership (Naturally Bidirectional)
Neo
Technology

PARTNER

GraphAware

Neo
Technology

PARTNER

GraphAware

GraphAware

TM
Company Partnership (Naturally Bidirectional)

PARTNER
Neo
Technology

GraphAware
PARTNER

GraphAware

TM
Company Partnership (Naturally Bidirectional)

PARTNER
Neo
Technology

GraphAware
PARTNER

GraphAware

TM
Company Partnership (Naturally Bidirectional)

Neo
Technology

PARTNER

GraphAware

GraphAware

TM
Company Partnership (Naturally Bidirectional)

Neo
Technology

PARTNER

GraphAware

GraphAware

TM
Why?
Neo4j APIs allow developers to
completely ignore relationship direction
when querying the graph.

GraphAware

TM
Cypher
MATCH	
  (neo)-­‐[:PARTNER]-­‐>(partner)

GraphAware

TM
Cypher
MATCH	
  (neo)<-­‐[:PARTNER]-­‐(partner)

GraphAware

TM
Cypher
MATCH	
  (neo)-­‐[:PARTNER]-­‐(partner)

GraphAware

TM
Qualifying
Relationships
performance comparison

GraphAware

TM
Qualifying by Properties

Daniela

D
E

T
A
R

:4
g

tin
a

r
Pulp
Fiction

RATED

Michal

rating: 5

RA
ra TE
tin
D
g:
1
Mark

GraphAware

TM
Who liked Pulp Fiction? (Cypher)
START	
  	
  	
  pulpFiction=node({id})
MATCH	
  	
  	
  (pulpFiction)<-­‐[r:RATED]-­‐(fan)
WHERE	
  	
  	
  r.rating	
  >	
  3
RETURN	
  	
  fan

GraphAware

TM
Who liked Pulp Fiction? (Java)
for	
  (Relationship	
  r	
  :	
  pulpFiction.getRelationships(INCOMING,	
  RATED))	
  
{
	
  	
  	
  	
  if	
  ((int)	
  r.getProperty("rating")	
  >	
  3)	
  
	
  	
  	
  	
  {
	
  	
  	
  	
  	
  	
  	
  	
  Node	
  fan	
  =	
  r.getStartNode();	
  //do	
  something	
  with	
  it
	
  	
  	
  	
  }
}

GraphAware

TM
Qualifying by
Relationship Type

Daniela
D
E

IK
L

Pulp
Fiction

LOVED

Michal

HA
TE

D

Mark

GraphAware

TM
Who liked Pulp Fiction? (Cypher)
START	
  	
  	
  pulpFiction=node({id})
MATCH	
  	
  	
  (pulpFiction)<-­‐[r:LIKED|LOVED]-­‐(fan)
RETURN	
  	
  fan

GraphAware

TM
Who liked Pulp Fiction? (Java)
for	
  (Relationship	
  r	
  :	
  pF.getRelationships(INCOMING,	
  LIKED,	
  LOVED))	
  
{
	
  	
  	
  	
  Node	
  fan	
  =	
  r.getStartNode();	
  //do	
  something	
  with	
  it
}

GraphAware

TM
GraphAware

TM
GraphAware

TM
Winner!

Daniela
D
E

IK
L

Pulp
Fiction

LOVED

Michal

HA
TE

D

Mark

GraphAware

TM
Other interesting info?
Hardware Sizing
frequently asked question

GraphAware

TM
JVM

Other APIs
Transaction
Management

Core API

Object Cache

Operating System
File System Cache

HDD

Properties

Relationship
Types

Relationships

Record Files

Nodes

Neo4j Architecture

Neo4j

Transaction
Log

GraphAware

TM
Disk Space
>	
  cd	
  data
>	
  ls	
  -­‐ah

GraphAware

TM
Disk Space
drwxr-­‐xr-­‐x	
  	
  	
  5	
  bachmanm	
  	
  wheel	
  	
  	
  170B	
  19	
  Oct	
  12:56	
  index
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  31K	
  19	
  Oct	
  12:56	
  messages.log
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  69B	
  19	
  Oct	
  12:56	
  neostore
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  	
  9B	
  19	
  Oct	
  12:56	
  neostore.id
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  8.8K	
  19	
  Oct	
  12:56	
  neostore.nodestore.db
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  	
  9B	
  19	
  Oct	
  12:56	
  neostore.nodestore.db.id
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  39M	
  19	
  Oct	
  12:56	
  neostore.propertystore.db
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  153B	
  19	
  Oct	
  12:56	
  neostore.propertystore.db.arrays
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  	
  9B	
  19	
  Oct	
  12:56	
  neostore.propertystore.db.arrays.id
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  	
  9B	
  19	
  Oct	
  12:56	
  neostore.propertystore.db.id
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  43B	
  19	
  Oct	
  12:56	
  neostore.propertystore.db.index
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  	
  9B	
  19	
  Oct	
  12:56	
  neostore.propertystore.db.index.id
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  140B	
  19	
  Oct	
  12:56	
  neostore.propertystore.db.index.keys
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  	
  9B	
  19	
  Oct	
  12:56	
  neostore.propertystore.db.index.keys.id
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  154B	
  19	
  Oct	
  12:56	
  neostore.propertystore.db.strings
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  	
  9B	
  19	
  Oct	
  12:56	
  neostore.propertystore.db.strings.id
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  31M	
  19	
  Oct	
  12:56	
  neostore.relationshipstore.db
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  	
  9B	
  19	
  Oct	
  12:56	
  neostore.relationshipstore.db.id
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  38B	
  19	
  Oct	
  12:56	
  neostore.relationshiptypestore.db
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  	
  9B	
  19	
  Oct	
  12:56	
  neostore.relationshiptypestore.db.id
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  140B	
  19	
  Oct	
  12:56	
  neostore.relationshiptypestore.db.names
-­‐rw-­‐r-­‐-­‐r-­‐-­‐	
  	
  	
  1	
  bachmanm	
  	
  wheel	
  	
  	
  	
  	
  9B	
  19	
  Oct	
  12:56	
  neostore.relationshiptypestore.db.names.id

GraphAware

TM
Disk Space
node

9B

relationship

33B

property

41B

GraphAware

TM
Disk Space (Example)
1,000 nodes
1,000,000 rels
2,010,000 props
TOTAL

x 9B =
8.8 kB
x 33B = 31.5 MB
x 41B = 78.6 MB
= 110.1 MB

GraphAware

TM
Low Level Cache
How about low level cache? Any guesses?

GraphAware

TM
Low Level Cache
Same as disk space

GraphAware

TM
High Level Cache
node

344B

relationship

208B

property

116B

...

GraphAware

TM
Other interesting info?
Java API vs. Cypher
case study

GraphAware

TM
Data Model
User 2

TRAVELLED_WITH
weight: 3

User 4

TRAVELLED_WITH
weight: 4

TRAVELLED_TOGETHER
weight: 1

User 3

FRIEND
weight: 5

User 1

GraphAware

TM
START	
  	
  	
  	
  from=node:node_auto_index(user_id="{FROM}"),
	
  	
  	
  	
  	
  	
  	
  	
  	
  to=node:node_auto_index(user_id="{TO}")
MATCH	
  	
  	
  	
  p	
  =	
  from-­‐[r*1..5]-­‐>to
RETURN	
  	
  	
  extract(n	
  in	
  nodes(p)	
  :	
  n.user_id),	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  extract(rel	
  in	
  relationships(p)	
  :	
  rel.weight),	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  extract(rel	
  in	
  relationships(p)	
  :	
  type(rel))
ORDER	
  BY	
  length(p),	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  reduce(totalWeight	
  =	
  0,	
  rel	
  in	
  relationships(p)	
  :
	
  	
  	
  	
  	
  	
  	
  	
  	
  totalWeight	
  +	
  rel.weight)
LIMIT	
  	
  	
  	
  3

GraphAware

TM
START	
  	
  	
  	
  from=node:node_auto_index(user_id="{FROM}"),
	
  	
  	
  	
  	
  	
  	
  	
  	
  to=node:node_auto_index(user_id="{TO}")
MATCH	
  	
  	
  	
  p	
  =	
  from-­‐[r*1..5]-­‐>to
RETURN	
  	
  	
  extract(n	
  in	
  nodes(p)	
  :	
  n.user_id),	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  extract(rel	
  in	
  relationships(p)	
  :	
  rel.weight),	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  extract(rel	
  in	
  relationships(p)	
  :	
  type(rel))
ORDER	
  BY	
  length(p),	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  reduce(totalWeight	
  =	
  0,	
  rel	
  in	
  relationships(p)	
  :
	
  	
  	
  	
  	
  	
  	
  	
  	
  totalWeight	
  +	
  rel.weight)
LIMIT	
  	
  	
  	
  3

> 1 second
GraphAware

TM
10 - 20 ms
Java API vs. Cypher

GraphAware

TM
Java API vs. Cypher
Cypher is great!

GraphAware

TM
Java API vs. Cypher
Cypher is great!
Cypher is improving

GraphAware

TM
Java API vs. Cypher
Cypher is great!
Cypher is improving
But don’t be afraid of writing some Java

GraphAware

TM
Thanks!
www.graphaware.com
@graph_aware

GraphAware

TM

Más contenido relacionado

Destacado

Advanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware FrameworkAdvanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware FrameworkMichal Bachman
 
Best Buy Web 2.0
Best Buy Web 2.0Best Buy Web 2.0
Best Buy Web 2.0Lee Aase
 
Introduction to Redis Data Structures: Sorted Sets
Introduction to Redis Data Structures: Sorted SetsIntroduction to Redis Data Structures: Sorted Sets
Introduction to Redis Data Structures: Sorted SetsScaleGrid.io
 
Redis and its many use cases
Redis and its many use casesRedis and its many use cases
Redis and its many use casesChristian Joudrey
 
Introduction to some top Redis use cases
Introduction to some top Redis use casesIntroduction to some top Redis use cases
Introduction to some top Redis use casesJosiah Carlson
 
The BestBuy.com Cloud Architecture
The BestBuy.com Cloud ArchitectureThe BestBuy.com Cloud Architecture
The BestBuy.com Cloud Architecturejoelcrabb
 
Using Redis at Facebook
Using Redis at FacebookUsing Redis at Facebook
Using Redis at FacebookRedis Labs
 
Bootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4jBootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4jMax De Marzi
 
Neo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in GraphdatenbankenNeo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in GraphdatenbankenNeo4j
 
Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)Itamar Haber
 
Neo4j the Anti Crime Database
Neo4j the Anti Crime DatabaseNeo4j the Anti Crime Database
Neo4j the Anti Crime DatabaseNeo4j
 
Neo4j GraphTalks Panama Papers
Neo4j GraphTalks Panama PapersNeo4j GraphTalks Panama Papers
Neo4j GraphTalks Panama PapersNeo4j
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesNeo4j
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph DatabasesMax De Marzi
 
Everything you always wanted to know about Redis but were afraid to ask
Everything you always wanted to know about Redis but were afraid to askEverything you always wanted to know about Redis but were afraid to ask
Everything you always wanted to know about Redis but were afraid to askCarlos Abalde
 
Titan: The Rise of Big Graph Data
Titan: The Rise of Big Graph DataTitan: The Rise of Big Graph Data
Titan: The Rise of Big Graph DataMarko Rodriguez
 
Neo4j - 5 cool graph examples
Neo4j - 5 cool graph examplesNeo4j - 5 cool graph examples
Neo4j - 5 cool graph examplesPeter Neubauer
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use CasesMax De Marzi
 

Destacado (20)

Advanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware FrameworkAdvanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware Framework
 
Redis use cases
Redis use casesRedis use cases
Redis use cases
 
Best Buy Web 2.0
Best Buy Web 2.0Best Buy Web 2.0
Best Buy Web 2.0
 
Introduction to Redis Data Structures: Sorted Sets
Introduction to Redis Data Structures: Sorted SetsIntroduction to Redis Data Structures: Sorted Sets
Introduction to Redis Data Structures: Sorted Sets
 
Redis and its many use cases
Redis and its many use casesRedis and its many use cases
Redis and its many use cases
 
Introduction to some top Redis use cases
Introduction to some top Redis use casesIntroduction to some top Redis use cases
Introduction to some top Redis use cases
 
The BestBuy.com Cloud Architecture
The BestBuy.com Cloud ArchitectureThe BestBuy.com Cloud Architecture
The BestBuy.com Cloud Architecture
 
Using Redis at Facebook
Using Redis at FacebookUsing Redis at Facebook
Using Redis at Facebook
 
Bootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4jBootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4j
 
Neo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in GraphdatenbankenNeo4j GraphTalks - Einführung in Graphdatenbanken
Neo4j GraphTalks - Einführung in Graphdatenbanken
 
GPSinsights poster
GPSinsights posterGPSinsights poster
GPSinsights poster
 
Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)
 
Neo4j the Anti Crime Database
Neo4j the Anti Crime DatabaseNeo4j the Anti Crime Database
Neo4j the Anti Crime Database
 
Neo4j GraphTalks Panama Papers
Neo4j GraphTalks Panama PapersNeo4j GraphTalks Panama Papers
Neo4j GraphTalks Panama Papers
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph Databases
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph Databases
 
Everything you always wanted to know about Redis but were afraid to ask
Everything you always wanted to know about Redis but were afraid to askEverything you always wanted to know about Redis but were afraid to ask
Everything you always wanted to know about Redis but were afraid to ask
 
Titan: The Rise of Big Graph Data
Titan: The Rise of Big Graph DataTitan: The Rise of Big Graph Data
Titan: The Rise of Big Graph Data
 
Neo4j - 5 cool graph examples
Neo4j - 5 cool graph examplesNeo4j - 5 cool graph examples
Neo4j - 5 cool graph examples
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use Cases
 

Similar a Modelling Data in Neo4j (plus a few tips)

Modelling Data in Neo4j (plus a few tips)
Modelling Data in Neo4j (plus a few tips)Modelling Data in Neo4j (plus a few tips)
Modelling Data in Neo4j (plus a few tips)GraphAware
 
Modelling Data as Graphs (Neo4j)
Modelling Data as Graphs (Neo4j)Modelling Data as Graphs (Neo4j)
Modelling Data as Graphs (Neo4j)GraphAware
 
Kafka Summit SF 2017 - Riot's Journey to Global Kafka Aggregation
Kafka Summit SF 2017 - Riot's Journey to Global Kafka AggregationKafka Summit SF 2017 - Riot's Journey to Global Kafka Aggregation
Kafka Summit SF 2017 - Riot's Journey to Global Kafka Aggregationconfluent
 
天下武功唯快不破:利用串流資料實做出即時分類器和即時推薦系統
天下武功唯快不破:利用串流資料實做出即時分類器和即時推薦系統天下武功唯快不破:利用串流資料實做出即時分類器和即時推薦系統
天下武功唯快不破:利用串流資料實做出即時分類器和即時推薦系統台灣資料科學年會
 
Z Garbage Collector
Z Garbage CollectorZ Garbage Collector
Z Garbage CollectorDavid Buck
 
Vectorized R Execution in Apache Spark
Vectorized R Execution in Apache SparkVectorized R Execution in Apache Spark
Vectorized R Execution in Apache SparkDatabricks
 
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014Amazon Web Services
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large GraphsNishant Gandhi
 
React native meetup 2019
React native meetup 2019React native meetup 2019
React native meetup 2019Arjun Kava
 
GraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark Needham
GraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark NeedhamGraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark Needham
GraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark NeedhamNeo4j
 
Schema matching for merging data feeds
Schema matching for merging data feedsSchema matching for merging data feeds
Schema matching for merging data feedsbutest
 
Accelerate Your Analytic Queries with Amazon Aurora Parallel Query (DAT362) -...
Accelerate Your Analytic Queries with Amazon Aurora Parallel Query (DAT362) -...Accelerate Your Analytic Queries with Amazon Aurora Parallel Query (DAT362) -...
Accelerate Your Analytic Queries with Amazon Aurora Parallel Query (DAT362) -...Amazon Web Services
 
Heroku Apps Scale-out, performance monitoring・visualization・ management
Heroku Apps Scale-out, performance monitoring・visualization・ managementHeroku Apps Scale-out, performance monitoring・visualization・ management
Heroku Apps Scale-out, performance monitoring・visualization・ managementTokyo University of Science
 
The Postmodern Binary Analysis
The Postmodern Binary AnalysisThe Postmodern Binary Analysis
The Postmodern Binary AnalysisOnur Alanbel
 
Graph Connect: Tuning Cypher
Graph Connect: Tuning CypherGraph Connect: Tuning Cypher
Graph Connect: Tuning CypherMark Needham
 
Advanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware FrameworkAdvanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware FrameworkGraphAware
 
Ontotext's GraphDB Connectors
Ontotext's GraphDB ConnectorsOntotext's GraphDB Connectors
Ontotext's GraphDB Connectorslogomachy
 
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018Amazon Web Services
 
Scaling your GraphQL applications with Dgraph
Scaling your GraphQL applications with DgraphScaling your GraphQL applications with Dgraph
Scaling your GraphQL applications with DgraphKarthic Rao
 

Similar a Modelling Data in Neo4j (plus a few tips) (20)

Modelling Data in Neo4j (plus a few tips)
Modelling Data in Neo4j (plus a few tips)Modelling Data in Neo4j (plus a few tips)
Modelling Data in Neo4j (plus a few tips)
 
Modelling Data as Graphs (Neo4j)
Modelling Data as Graphs (Neo4j)Modelling Data as Graphs (Neo4j)
Modelling Data as Graphs (Neo4j)
 
Kafka Summit SF 2017 - Riot's Journey to Global Kafka Aggregation
Kafka Summit SF 2017 - Riot's Journey to Global Kafka AggregationKafka Summit SF 2017 - Riot's Journey to Global Kafka Aggregation
Kafka Summit SF 2017 - Riot's Journey to Global Kafka Aggregation
 
天下武功唯快不破:利用串流資料實做出即時分類器和即時推薦系統
天下武功唯快不破:利用串流資料實做出即時分類器和即時推薦系統天下武功唯快不破:利用串流資料實做出即時分類器和即時推薦系統
天下武功唯快不破:利用串流資料實做出即時分類器和即時推薦系統
 
Z Garbage Collector
Z Garbage CollectorZ Garbage Collector
Z Garbage Collector
 
Let's Get to the Rapids
Let's Get to the RapidsLet's Get to the Rapids
Let's Get to the Rapids
 
Vectorized R Execution in Apache Spark
Vectorized R Execution in Apache SparkVectorized R Execution in Apache Spark
Vectorized R Execution in Apache Spark
 
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large Graphs
 
React native meetup 2019
React native meetup 2019React native meetup 2019
React native meetup 2019
 
GraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark Needham
GraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark NeedhamGraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark Needham
GraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark Needham
 
Schema matching for merging data feeds
Schema matching for merging data feedsSchema matching for merging data feeds
Schema matching for merging data feeds
 
Accelerate Your Analytic Queries with Amazon Aurora Parallel Query (DAT362) -...
Accelerate Your Analytic Queries with Amazon Aurora Parallel Query (DAT362) -...Accelerate Your Analytic Queries with Amazon Aurora Parallel Query (DAT362) -...
Accelerate Your Analytic Queries with Amazon Aurora Parallel Query (DAT362) -...
 
Heroku Apps Scale-out, performance monitoring・visualization・ management
Heroku Apps Scale-out, performance monitoring・visualization・ managementHeroku Apps Scale-out, performance monitoring・visualization・ management
Heroku Apps Scale-out, performance monitoring・visualization・ management
 
The Postmodern Binary Analysis
The Postmodern Binary AnalysisThe Postmodern Binary Analysis
The Postmodern Binary Analysis
 
Graph Connect: Tuning Cypher
Graph Connect: Tuning CypherGraph Connect: Tuning Cypher
Graph Connect: Tuning Cypher
 
Advanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware FrameworkAdvanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware Framework
 
Ontotext's GraphDB Connectors
Ontotext's GraphDB ConnectorsOntotext's GraphDB Connectors
Ontotext's GraphDB Connectors
 
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018
 
Scaling your GraphQL applications with Dgraph
Scaling your GraphQL applications with DgraphScaling your GraphQL applications with Dgraph
Scaling your GraphQL applications with Dgraph
 

Más de Michal Bachman

GraphAware Framework Intro
GraphAware Framework IntroGraphAware Framework Intro
GraphAware Framework IntroMichal Bachman
 
Neo4j Introduction at Imperial College London
Neo4j Introduction at Imperial College LondonNeo4j Introduction at Imperial College London
Neo4j Introduction at Imperial College LondonMichal Bachman
 
Neo4j - Tales from the Trenches
Neo4j - Tales from the TrenchesNeo4j - Tales from the Trenches
Neo4j - Tales from the TrenchesMichal Bachman
 
WebExpo Prague 2012 - Introduction to Neo4j (Czech)
WebExpo Prague 2012 - Introduction to Neo4j (Czech)WebExpo Prague 2012 - Introduction to Neo4j (Czech)
WebExpo Prague 2012 - Introduction to Neo4j (Czech)Michal Bachman
 

Más de Michal Bachman (6)

GraphAware Framework Intro
GraphAware Framework IntroGraphAware Framework Intro
GraphAware Framework Intro
 
Intro to Neo4j (CZ)
Intro to Neo4j (CZ)Intro to Neo4j (CZ)
Intro to Neo4j (CZ)
 
(Big) Data Science
(Big) Data Science(Big) Data Science
(Big) Data Science
 
Neo4j Introduction at Imperial College London
Neo4j Introduction at Imperial College LondonNeo4j Introduction at Imperial College London
Neo4j Introduction at Imperial College London
 
Neo4j - Tales from the Trenches
Neo4j - Tales from the TrenchesNeo4j - Tales from the Trenches
Neo4j - Tales from the Trenches
 
WebExpo Prague 2012 - Introduction to Neo4j (Czech)
WebExpo Prague 2012 - Introduction to Neo4j (Czech)WebExpo Prague 2012 - Introduction to Neo4j (Czech)
WebExpo Prague 2012 - Introduction to Neo4j (Czech)
 

Último

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Modelling Data in Neo4j (plus a few tips)