SlideShare a Scribd company logo
1 of 65
Download to read offline
Modelling
Data in Neo4j
a few best practices and lessons learned
by Michal Bachman

GraphAware

TM
GraphAware

TM
Example Domain
Ride-sharing website
History of rides
Friendships from Facebook
Aim: build trust between users

GraphAware

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

GraphAware

TM
Modelling Data as Graphs
Graphs are very whiteboard friendly.

GraphAware

TM
User

name: “Peter”

DROVE

ipsum
DROVE

User

User

name: “Alice”

FRIEND_OF

name: “Michael”

User

name: “Laura”

FRIEND_OF
User

User

name: “Jenny”

name: “Peter”

DROVE

DROVE

ipsum
DROVE

User

User

name: “Alice”

FRIEND_OF

name: “Michael”

User

name: “Laura”

FRIEND_OF
User

User

name: “Jenny”

name: “Peter”

DROVE
date: 2014-01-27

DROVE
date: 2014-01-29

ipsum
DROVE
date: 2014-01-29

User

User

name: “Alice”

FRIEND_OF

name: “Michael”

User

name: “Laura”

FRIEND_OF
User

User

name: “Jenny”

name: “Peter”

DROVE
date: 2014-01-27

ipsum

DROVE
date: 2014-01-29
User

DROVE
date: 2014-01-29

RODE_TOGETHER

User

name: “Alice”

FRIEND_OF

name: “Michael”

RODE_TOGETHER

User

name: “Laura”

FRIEND_OF
User

name: “Jenny”
User

name: “Peter”

DRIVER
Ride

Ride

date: 2014-01-27
from: “Brighton”
to: “Hastings”

date: 2014-01-29
from: “London”
to: “Nottingham”

PASSENGER

PASSENGER

DRIVER

ipsum
PASSENGER

User

User

name: “Alice”

FRIEND_OF

name: “Michael”

User

name: “Laura”

FRIEND_OF
Nodes vs. Relationships
Make important concepts in your domain
nodes, you will gain flexibility.

GraphAware

TM
User

name: “Jenny”
User

name: “Peter”

DRIVER
Ride

Ride

date: 2014-01-27
from: “Brighton”
to: “Hastings”

date: 2014-01-29
from: “London”
to: “Nottingham”

PASSENGER

PASSENGER

DRIVER

ipsum
PASSENGER

User

User

name: “Alice”

FRIEND_OF

name: “Michael”

User

name: “Laura”

FRIEND_OF
User

name: “Jenny”
User

name: “Peter”

DRIVER
Ride

Ride

date: 2014-01-27
from: “Brighton”
to: “Hastings”

date: 2014-01-29
from: “London”
to: “Nottingham”

DRIVER

ipsum
RATED
rating: 5

RATED
rating: 3
PASSENGER

PASSENGER

PASSENGER

User

User

name: “Alice”

FRIEND_OF

name: “Michael”

User

name: “Laura”

FRIEND_OF
User

name: “Jenny”
User

name: “Peter”

DRIVER
Ride

Ride

date: 2014-01-27
from: “Brighton”
to: “Hastings”

date: 2014-01-29
from: “London”
to: “Nottingham”

DRIVER

ipsum
RATED
rating: 5

RATED
rating: 3
PASSENGER

PASSENGER
User

name: “Alice”

PASSENGER
User

name: “Michael”

User
FRIEND_OF

name: “Laura”
User

name: “Jenny”
User

name: “Peter”

DRIVER
Ride

Ride

date: 2014-01-27
from: “Brighton”
to: “Hastings”

date: 2014-01-29
from: “London”
to: “Nottingham”

DRIVER

ipsum
RATED
rating: 5

RATED
rating: 3
PASSENGER

PASSENGER
User

name: “Alice”

PASSENGER
User

name: “Michael”

User
FRIEND_OF

name: “Laura”
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
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
Traversal Speed
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
Traversal APIs
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
Heads Up!
Different quality in each direction =>
should have two relationships!
LOVES
Geeky Guy

Girl

DOESN’T CARE ABOUT

GraphAware

TM
User

name: “Jenny”
User

name: “Peter”

DRIVER
Ride

Ride

date: 2014-01-27
from: “Brighton”
to: “Hastings”

date: 2014-01-29
from: “London”
to: “Nottingham”

DRIVER

ipsum
RATED
rating: 5

RATED
rating: 3
PASSENGER

PASSENGER
User

name: “Alice”

PASSENGER
User

name: “Michael”

User
FRIEND_OF

name: “Laura”
User

name: “Jenny”
User

name: “Peter”

DRIVER
Ride

Ride

date: 2014-01-27
from: “Brighton”
to: “Hastings”

date: 2014-01-29
from: “London”
to: “Nottingham”

DRIVER

ipsum
RATED
rating: ?

RATED
rating: 3
PASSENGER

PASSENGER
User

name: “Alice”

HATED
DISLIKED
NEUTRAL
LIKED
LOVED

PASSENGER
User

name: “Michael”

User
FRIEND_OF

name: “Laura”
User

name: “Jenny”
User

name: “Peter”

DRIVER
Ride

Ride

date: 2014-01-27
from: “Brighton”
to: “Hastings”

DRIVER

date: 2014-01-29
from: “London”
to: “Nottingham”
LOVED
NEUTRAL

PASSENGER

PASSENGER
User

name: “Alice”

PASSENGER
User

name: “Michael”

User
FRIEND_OF

name: “Laura”
Qualifying
Relationships
performance comparison

GraphAware

TM
User

Qualifying by
Properties

name: “Jenny”
User

name: “Peter”

DRIVER
Ride

Ride

date: 2014-01-27
from: “Brighton”
to: “Hastings”

date: 2014-01-29
from: “London”
to: “Nottingham”

DRIVER

ipsum
RATED
rating: 5

RATED
rating: 3
PASSENGER

PASSENGER
User

name: “Alice”

PASSENGER
User

name: “Michael”

User
FRIEND_OF

name: “Laura”
Who liked the ride? (Cypher)
START	
  	
  	
  ride=node({id})	
  
MATCH	
  	
  	
  (ride)<-­‐[r:RATED]-­‐(passenger)	
  
WHERE	
  	
  	
  r.rating	
  >	
  3	
  
RETURN	
  	
  passenger

GraphAware

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

GraphAware

TM
User

Qualifying by
Relationship Type

name: “Jenny”
User

name: “Peter”

DRIVER
Ride

Ride

date: 2014-01-27
from: “Brighton”
to: “Hastings”

DRIVER

date: 2014-01-29
from: “London”
to: “Nottingham”
LOVED
NEUTRAL

PASSENGER

PASSENGER
User

name: “Alice”

PASSENGER
User

name: “Michael”

User
FRIEND_OF

name: “Laura”
Who liked the ride? (Cypher)
START	
  	
  	
  ride=node({id})	
  
MATCH	
  	
  	
  (ride)<-­‐[r:LIKED|LOVED]-­‐(passenger)	
  
RETURN	
  	
  passenger

GraphAware

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

GraphAware

TM
GraphAware

TM
GraphAware

TM
User

Winner!

name: “Jenny”
User

name: “Peter”

DRIVER
Ride

Ride

date: 2014-01-27
from: “Brighton”
to: “Hastings”

DRIVER

date: 2014-01-29
from: “London”
to: “Nottingham”
LOVED
NEUTRAL

PASSENGER

PASSENGER
User

name: “Alice”

PASSENGER
User

name: “Michael”

User
FRIEND_OF

name: “Laura”
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

14B

relationship

33B

property

41B

GraphAware

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

x 14B = 13.7 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
Cypher is great!
Cypher is improving
But don’t be afraid of writing some Java

GraphAware

TM
Conclusion
Experiment
Measure
Analyse
Ask

GraphAware

TM
Thanks!
www.graphaware.com
@graph_aware

GraphAware

TM
Next	
  meetup
• The	
  transport	
  graph	
  
– Roads,	
  Nodes	
  and	
  Automobiles

(Jacqui	
  Read)	
  
– Transport	
  Network	
  Route	
  Finding	
  Using	
  A	
  Graph

(Ian	
  Cartwright	
  &	
  Ben	
  Earlham)	
  
th	
  February	
  2014	
  
26

•
• Here!

GraphAware

TM
GraphAware

TM
ts gy
en lo
i m no
pl h
m ec
Co eo T
N
of

Graph
h
Databases
Ian Robinson,
Jim Webber & Emil Eifrem

GraphAware

TM
Take	
  me	
  to	
  the	
  pub…

GraphAware

TM
Thanks!
www.graphaware.com
@graph_aware

GraphAware

TM

More Related Content

Viewers also liked

Riak Use Cases : Dissecting The Solutions To Hard Problems
Riak Use Cases : Dissecting The Solutions To Hard ProblemsRiak Use Cases : Dissecting The Solutions To Hard Problems
Riak Use Cases : Dissecting The Solutions To Hard Problems
Andy Gross
 
Neo4j - 5 cool graph examples
Neo4j - 5 cool graph examplesNeo4j - 5 cool graph examples
Neo4j - 5 cool graph examples
Peter Neubauer
 

Viewers also liked (20)

Riak Use Cases : Dissecting The Solutions To Hard Problems
Riak Use Cases : Dissecting The Solutions To Hard ProblemsRiak Use Cases : Dissecting The Solutions To Hard Problems
Riak Use Cases : Dissecting The Solutions To Hard Problems
 
Recommendations with Neo4j (FOSDEM 2015)
Recommendations with Neo4j (FOSDEM 2015)Recommendations with Neo4j (FOSDEM 2015)
Recommendations with Neo4j (FOSDEM 2015)
 
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
 
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)
 
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
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDB
 
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
 
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
 
Neo4j - 5 cool graph examples
Neo4j - 5 cool graph examplesNeo4j - 5 cool graph examples
Neo4j - 5 cool graph examples
 

Similar to Modelling Data as Graphs (Neo4j)

Similar to Modelling Data as Graphs (Neo4j) (20)

Modelling Data as Graphs (Neo4j)
Modelling Data as Graphs (Neo4j)Modelling Data as Graphs (Neo4j)
Modelling Data as Graphs (Neo4j)
 
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)
 
Hands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4jHands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4j
 
RDBMS to Graphs
RDBMS to GraphsRDBMS to Graphs
RDBMS to Graphs
 
Workshop Introduction to Neo4j
Workshop Introduction to Neo4jWorkshop Introduction to Neo4j
Workshop Introduction to Neo4j
 
Norikra in action
Norikra in actionNorikra in action
Norikra in action
 
Intro to Neo4j 2.0
Intro to Neo4j 2.0Intro to Neo4j 2.0
Intro to Neo4j 2.0
 
(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
 
Neo4j Graph Database และการประยุกตร์ใช้
Neo4j Graph Database และการประยุกตร์ใช้Neo4j Graph Database และการประยุกตร์ใช้
Neo4j Graph Database และการประยุกตร์ใช้
 
Application Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDBApplication Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDB
 
Understanding Graph Databases with Neo4j and Cypher
Understanding Graph Databases with Neo4j and CypherUnderstanding Graph Databases with Neo4j and Cypher
Understanding Graph Databases with Neo4j and Cypher
 
AMLD2021 - ML in online marketplaces
AMLD2021 - ML in online marketplacesAMLD2021 - ML in online marketplaces
AMLD2021 - ML in online marketplaces
 
There and Back Again, A Developer's Tale
There and Back Again, A Developer's TaleThere and Back Again, A Developer's Tale
There and Back Again, A Developer's Tale
 
Data mangling with mongo db the right way [pyconit 2016]
Data mangling with mongo db the right way [pyconit 2016]Data mangling with mongo db the right way [pyconit 2016]
Data mangling with mongo db the right way [pyconit 2016]
 
React native meetup 2019
React native meetup 2019React native meetup 2019
React native meetup 2019
 
Einblicke ins Dickicht der Parteiprogramme
Einblicke ins Dickicht der ParteiprogrammeEinblicke ins Dickicht der Parteiprogramme
Einblicke ins Dickicht der Parteiprogramme
 
Training Week: Introduction to Neo4j
Training Week: Introduction to Neo4jTraining Week: Introduction to Neo4j
Training Week: Introduction to Neo4j
 
[Webinar] Introduction to Cypher
[Webinar] Introduction to Cypher[Webinar] Introduction to Cypher
[Webinar] Introduction to Cypher
 
Document Model for High Speed Spark Processing
Document Model for High Speed Spark ProcessingDocument Model for High Speed Spark Processing
Document Model for High Speed Spark Processing
 
Training Week: Introduction to Neo4j 2022
Training Week: Introduction to Neo4j 2022Training Week: Introduction to Neo4j 2022
Training Week: Introduction to Neo4j 2022
 

More from 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)
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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...
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
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 Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Modelling Data as Graphs (Neo4j)