SlideShare a Scribd company logo
Data Modeling with
Neo4j
1
Michael Hunger, Neo Technology
@neo4j | @mesirii | michael@neo4j.org
(Michael) -[:WORKS_ON]-> (Neo4j)
ME
Spring Cloud
Community
Cypher
console
community
graph
Server
2
3
is a
4
5
NOSQL
Graph Database
6
A graph database...
7
A graph database...
7
NO: not for charts & diagrams, or vector artwork
A graph database...
7
NO: not for charts & diagrams, or vector artwork
YES: for storing data that is structured as a graph
A graph database...
7
NO: not for charts & diagrams, or vector artwork
YES: for storing data that is structured as a graph
remember linked lists, trees?
A graph database...
7
NO: not for charts & diagrams, or vector artwork
YES: for storing data that is structured as a graph
remember linked lists, trees?
graphs are the general-purpose data structure
A graph database...
7
NO: not for charts & diagrams, or vector artwork
YES: for storing data that is structured as a graph
remember linked lists, trees?
graphs are the general-purpose data structure
“A relational database may tell you the average age of everyone
in this place,
but a graph database will tell you who is most likely to buy you a
beer.”
8
You know relational
8
You know relational
8
You know relational
8
foo
You know relational
8
foo bar
You know relational
8
foo barfoo_bar
You know relational
8
foo barfoo_bar
You know relational
8
foo barfoo_bar
You know relational
8
foo barfoo_bar
You know relational
8
now consider relationships...
You know relational
8
now consider relationships...
You know relational
8
now consider relationships...
You know relational
8
now consider relationships...
You know relational
8
now consider relationships...
You know relational
8
now consider relationships...
8
9
We're talking about a
Property Graph
9
We're talking about a
Property Graph
9
Nodes
We're talking about a
Property Graph
9
Nodes
Relationships
Emil
Andrés
Lars
Johan
Allison
Peter
Michael
Tobias
Andreas
IanMica
Delia
knows
knows
knows
knows
knows
knows
knows
knows
knows
knowsMica
knowsknows
Mica
Delia
knows
We're talking about a
Property Graph
9
Nodes
Relationships
Properties (each a key+value)
Emil
Andrés
Lars
Johan
Allison
Peter
Michael
Tobias
Andreas
IanMica
Delia
knows
knows
knows
knows
knows
knows
knows
knows
knows
knowsMica
knowsknows
Mica
Delia
knows
We're talking about a
Property Graph
9
Nodes
Relationships
Properties (each a key+value)
+ Indexes (for easy look-ups)
Aggregate vs.
Connected Data-Model
10
NOSQL
Relational
Graph
Document
KeyValue
Riak
Column
oriented
11
Redis
Cassandra
Mongo
Couch
Neo4j
MySQL
Postgres
NOSQL Databases
12
“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
13
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
Data Modeling
14
Why Data Modeling
15
๏What is modeling?
๏Aren‘t we schema free?
๏How does it work in a
graph?
๏Where should modeling
happen? DB or Application
Data Models
16
Model mis-match
Real World Model
Model mis-match
Application Model Database Model
Trinity of models
Whiteboard --> Data
20
Whiteboard --> Data
20
Andreas
Peter
Emil
Allison
Whiteboard --> Data
20
Andreas
Peter
Emil
Allison
knows
knows knows
knows
Whiteboard --> Data
20
Andreas
Peter
Emil
Allison
knows
knows knows
knows
Whiteboard --> Data
20
Andreas
Peter
Emil
Allison
knows
knows knows
knows
// Cypher query - friend of a friend
start n=node(0)
match (n)--()--(foaf)
return foaf
21
You traverse the graph
21
You traverse the graph
21
// lookup starting point in an index
START n=node:People(name = ‘Andreas’)
Andreas
You traverse the graph
21
// lookup starting point in an index
START n=node:People(name = ‘Andreas’)
Andreas
You traverse the graph
21
// then traverse to find results
START me=node:People(name = ‘Andreas’
MATCH (me)-[:FRIEND]-(friend)-[:FRIEND]-(friend2)
RETURN friend2
21
SELECT skills.*, user_skill.*
FROM users
JOIN user_skill ON users.id = user_skill.user_id
JOIN skills ON user_skill.skill_id = skill.id WHERE users.id = 1
22
START user = node(1)
MATCH user -[user_skill]-> skill
RETURN skill, user_skill
An Example
23
What language do they speak here?
Language Country
What language do they speak here?
Language Country
What language do they speak here?
Language Country
Tables
language_code
language_name
word_count
Language
country_code
country_name
flag_uri
Country
Need to model the relationship
language_code
language_name
word_count
Language
country_code
country_name
flag_uri
language_code
Country
What if the cardinality changes?
language_code
language_name
word_count
country_code
Language
country_code
country_name
flag_uri
Country
Or we go many-to-many?
language_code
language_name
word_count
Language
country_code
country_name
flag_uri
Country
language_code
country_code
LanguageCountry
Or we want to qualify the relationship?
language_code
language_name
word_count
Language
country_code
country_name
flag_uri
Country
language_code
country_code
primary
LanguageCountry
Start talking about
Graphs
Explicit Relationship
name
word_count
Language
name
flag_uri
Country
IS_SPOKEN_IN
Relationship Properties
name
word_count
Language
name
flag_uri
Country
IS_SPOKEN_IN
as_primary
What’s different?
language_code
language_name
word_count
Language
country_code
country_name
flag_uri
Country
language_code
country_code
primary
LanguageCountry
IS_SPOKEN_IN
What’s different?
๏ Implementation of maintaining relationships is left up
to the database
๏ Artificial keys disappear or are unnecessary
๏ Relationships get an explicit name
• can be navigated in both directions
Relationship specialisation
name
word_count
Language
name
flag_uri
Country
IS_SPOKEN_IN
as_primary
Bidirectional relationships
name
word_count
Language
name
flag_uri
Country
IS_SPOKEN_IN
PRIMARY_LANGUAGE
Weighted relationships
name
word_count
Language
name
flag_uri
Country
POPULATION_SPEAKS
population_fraction
Keep on adding relationships
name
word_count
Language
name
flag_uri
Country
POPULATION_SPEAKS
population_fraction
SIMILAR_TO ADJACENT_TO
EMBRACE the
paradigm
Use the building blocks
๏ Nodes
๏ Relationships
๏ Properties name: value
RELATIONSHIP_NAME
Anti-pattern: rich properties
name: “Canada”
languages_spoken: “[ ‘English’, ‘French’ ]”
Normalize Nodes
Anti-Pattern: Node represents multiple
concepts
name
flag_uri
language_name
number_of_words
yes_in_language
no_in_language
currency_code
currency_name
Country
USES_CURRENCY
Split up in separate concepts
name
flag_uri
currency_code
currency_name
Country
name
number_of_words
yes
no
Country
SPEAKS
Currency
currency_code
currency_name
Challenge: Property or Relationship?
๏ Can every property be replaced by a relationship?
• Hint: triple stores. Are they easy to use?
๏ Should every entities with the same property values be
connected?
Object Mapping
๏ Similar to how you would map objects to a relational
database, using an ORM such as Hibernate
๏ Generally simpler and easier to reason about
๏ Examples
• Java: Spring Data Neo4j
• Ruby: Active Model
๏ Why Map?
• Do you use mapping because you are scared of SQL?
• Following DDD, could you write your repositories
directly against the graph API?
CONNECT for fast access
In-Graph Indices
Relationships for querying
๏ like in other databases
• same structure for different use-cases (OLTP and
OLAP) doesn‘t work
• graph allows: add more structures
๏ Relationships should the primary means to access
nodes in the database
๏ Traversing relationships is cheap – that’s the whole
design goal of a graph database
๏ Use lookups only to find starting nodes for a query
Data Modeling examples in Manual
Anti-pattern: unconnected graph
name: “Jones” name: “Jones”
name: “Jones”
name: “Jones”
name: “Jones”
name: “Jones”
name: “Jones” name: “Jones”
name: “Jones”
name: “Jones”
name: “Jones”
Pattern: Linked List
52
Pattern: Multiple Relationships
53
Pattern-Trees:Tags and Categories
54
Pattern-Tree: Multi-Level-Tree
55
Pattern-Trees: R-Tree (spatial)
56
Example:Activity Stream
57
Graph Evolution
58
Evolution: Relationship to Node
59
Peter
SENT_EMAIL
Michael
Peter EMAIL_FROM
Michael
EMAIL_TO
Email
Emil
EMAIL_CC
Community
TAGGED
. . .
see Hyperedges
Combine multiple Domains in a Graph
๏ you start with a single domain
๏ add more connected domains as your system evolves
๏ more domains allow to ask different queries
๏ one domain „indexes“ the other
๏ Example Facebook Graph Search
• social graph
• location graph
• activity graph
• favorite graph
• ...
Notes on the Graph Data Model
๏Schema free, but constraints
๏Model your graph with a whiteboard and a wise man
๏Nodes as main entities but useless without connections
๏Relationships are first level citizens in the model and database
๏Normalize more than in a relational database
๏use meaningful relationship-types, not generic ones like IS_
๏use in-graph structures to allow different access paths
๏evolve your graph to your needs, incremental growth
61
Realworld Examples
62
63
63
Real World Use Cases:
63
Real World Use Cases:
•[A] ACL from Hell
63
Real World Use Cases:
•[A] ACL from Hell
•[B] Timely recommendations
63
Real World Use Cases:
•[A] ACL from Hell
•[B] Timely recommendations
•[C] Global collaboration
[A] ACL from Hell
64
[A] ACL from Hell
๏ Customer:
• leading consumer utility company with tons and
tons of users
๏ Goal:
• comprehensive access control administration
for customers
๏ Benefits:
• Flexible and dynamic architecture
• Exceptional performance
• Extensible data model supports new
applications and features
• Low cost
64
[A] ACL from Hell
๏ Customer:
• leading consumer utility company with tons and
tons of users
๏ Goal:
• comprehensive access control administration
for customers
๏ Benefits:
• Flexible and dynamic architecture
• Exceptional performance
• Extensible data model supports new
applications and features
• Low cost
64
• A Reliable access control administration system for
5 million customers, subscriptions and agreements
• Complex dependencies between groups, companies,
individuals, accounts, products, subscriptions, services and
agreements
• Broad and deep graphs (master customers with 1000s of
customers, subscriptions & agreements)
[A] ACL from Hell
๏ Customer:
• leading consumer utility company with tons and
tons of users
๏ Goal:
• comprehensive access control administration
for customers
๏ Benefits:
• Flexible and dynamic architecture
• Exceptional performance
• Extensible data model supports new
applications and features
• Low cost
64
• A Reliable access control administration system for
5 million customers, subscriptions and agreements
• Complex dependencies between groups, companies,
individuals, accounts, products, subscriptions, services and
agreements
• Broad and deep graphs (master customers with 1000s of
customers, subscriptions & agreements)
name: Andreas
subscription: sports
service: NFL
account: 9758352794
agreement: ultimate
owns
subscribes to
has plan
includes
provides group: graphistas
promotion: fall
member of
offered
discounts
company: Neo
Technologyworks with
gets discount on
subscription: local
subscribes to
provides service: Ravens
includes
[B] Timely Recommendations
65
[B] Timely Recommendations
๏ Customer:
• a professional social network
• 35 millions users, adding 30,000+ each day
๏ Goal: up-to-date recommendations
• Scalable solution with real-time end-user
experience
• Low maintenance and reliable architecture
• 8-week implementation
65
[B] Timely Recommendations
๏ Customer:
• a professional social network
• 35 millions users, adding 30,000+ each day
๏ Goal: up-to-date recommendations
• Scalable solution with real-time end-user
experience
• Low maintenance and reliable architecture
• 8-week implementation
65
๏ Problem:
• Real-time recommendation imperative to attract new
users and maintain positive user retention
• Clustered MySQL solution not scalable or fast enough
to support real-time requirements
๏ Upgrade from running a batch job
• initial hour-long batch job
• but then success happened, and it became a day
• then two days
๏ With Neo4j, real time recommendations
[B] Timely Recommendations
๏ Customer:
• a professional social network
• 35 millions users, adding 30,000+ each day
๏ Goal: up-to-date recommendations
• Scalable solution with real-time end-user
experience
• Low maintenance and reliable architecture
• 8-week implementation
65
๏ Problem:
• Real-time recommendation imperative to attract new
users and maintain positive user retention
• Clustered MySQL solution not scalable or fast enough
to support real-time requirements
๏ Upgrade from running a batch job
• initial hour-long batch job
• but then success happened, and it became a day
• then two days
๏ With Neo4j, real time recommendations
name:Andreas
job: talking
name: Allison
job: plumber
name: Tobias
job: coding
knows
knows
name: Peter
job: building
name: Emil
job: plumber
knows
name: Stephen
job: DJ
knows
knows
name: Delia
job: barking
knows
knows
name: Tiberius
job: dancer
knows
knows
knows
knows
[C] Collaboration on Global Scale
66
[C] Collaboration on Global Scale
๏ Customer: a worldwide software leader
• highly collaborative end-users
๏ Goal: offer an online platform for global collaboration
• Highly flexible data analysis
• Sub-second results for large, densely-connected data
• User experience - competitive advantage
66
[C] Collaboration on Global Scale
๏ Customer: a worldwide software leader
• highly collaborative end-users
๏ Goal: offer an online platform for global collaboration
• Highly flexible data analysis
• Sub-second results for large, densely-connected data
• User experience - competitive advantage
66
• Massive amounts of data tied to members, user
groups, member content, etc. all interconnected
• Infer collaborative relationships through user-
generated content
• Worldwide Availability
[C] Collaboration on Global Scale
๏ Customer: a worldwide software leader
• highly collaborative end-users
๏ Goal: offer an online platform for global collaboration
• Highly flexible data analysis
• Sub-second results for large, densely-connected data
• User experience - competitive advantage
66
• Massive amounts of data tied to members, user
groups, member content, etc. all interconnected
• Infer collaborative relationships through user-
generated content
• Worldwide Availability
Asia North America Europe
[C] Collaboration on Global Scale
๏ Customer: a worldwide software leader
• highly collaborative end-users
๏ Goal: offer an online platform for global collaboration
• Highly flexible data analysis
• Sub-second results for large, densely-connected data
• User experience - competitive advantage
66
• Massive amounts of data tied to members, user
groups, member content, etc. all interconnected
• Infer collaborative relationships through user-
generated content
• Worldwide Availability
Asia North America Europe
Asia North America Europe
How to get started?
67
How to get started?
๏ Documentation
67
How to get started?
๏ Documentation
• neo4j.org
67
How to get started?
๏ Documentation
• neo4j.org
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
‣Data Modeling Examples
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
‣Data Modeling Examples
• http://console.neo4j.org
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
‣Data Modeling Examples
• http://console.neo4j.org
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
‣Data Modeling Examples
• http://console.neo4j.org
• Neo4j in Action
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
‣Data Modeling Examples
• http://console.neo4j.org
• Neo4j in Action
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
‣Data Modeling Examples
• http://console.neo4j.org
• Neo4j in Action
• Good Relationships
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
‣Data Modeling Examples
• http://console.neo4j.org
• Neo4j in Action
• Good Relationships
๏ Worldwide one-day Neo4j Trainings
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
‣Data Modeling Examples
• http://console.neo4j.org
• Neo4j in Action
• Good Relationships
๏ Worldwide one-day Neo4j Trainings
๏ Get Neo4j
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
‣Data Modeling Examples
• http://console.neo4j.org
• Neo4j in Action
• Good Relationships
๏ Worldwide one-day Neo4j Trainings
๏ Get Neo4j
• http://neo4j.org/download
67
How to get started?
๏ Documentation
• neo4j.org
‣http://www.neo4j.org/learn/nosql
• docs.neo4j.org - tutorials+reference
‣Data Modeling Examples
• http://console.neo4j.org
• Neo4j in Action
• Good Relationships
๏ Worldwide one-day Neo4j Trainings
๏ Get Neo4j
• http://neo4j.org/download
• http://addons.heroku.com/neo4j/
67
68
68
Really, once you start
thinking in graphs
it's hard to stop
Recommendations MDM
Systems
Management
Geospatial
Social computing
Business intelligence
Biotechnology
Making Sense of all that
data
your brain
access control
linguistics
catalogs
genealogyrouting
compensation market vectors
68
Really, once you start
thinking in graphs
it's hard to stop
Recommendations MDM
Systems
Management
Geospatial
Social computing
Business intelligence
Biotechnology
Making Sense of all that
data
your brain
access control
linguistics
catalogs
genealogyrouting
compensation market vectors
What will you build?
ThankYou!
Questions ?
69

More Related Content

What's hot

The Neo4j Data Platform for Today & Tomorrow.pdf
The Neo4j Data Platform for Today & Tomorrow.pdfThe Neo4j Data Platform for Today & Tomorrow.pdf
The Neo4j Data Platform for Today & Tomorrow.pdf
Neo4j
 
Graphs for Data Science and Machine Learning
Graphs for Data Science and Machine LearningGraphs for Data Science and Machine Learning
Graphs for Data Science and Machine Learning
Neo4j
 
Intro to Graphs and Neo4j
Intro to Graphs and Neo4jIntro to Graphs and Neo4j
Intro to Graphs and Neo4j
jexp
 
Introduction to Graph Databases.pdf
Introduction to Graph Databases.pdfIntroduction to Graph Databases.pdf
Introduction to Graph Databases.pdf
Neo4j
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph Databases
DataStax
 
https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy...
https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy...https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy...
https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy...
Neo4j
 
NOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4jNOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4j
Tobias Lindaaker
 
RDBMS to Graph
RDBMS to GraphRDBMS to Graph
RDBMS to Graph
Neo4j
 
How Graph Algorithms Answer your Business Questions in Banking and Beyond
How Graph Algorithms Answer your Business Questions in Banking and BeyondHow Graph Algorithms Answer your Business Questions in Banking and Beyond
How Graph Algorithms Answer your Business Questions in Banking and Beyond
Neo4j
 
Neo4j Graph Platform Overview, Kurt Freytag, Neo4j
Neo4j Graph Platform Overview, Kurt Freytag, Neo4jNeo4j Graph Platform Overview, Kurt Freytag, Neo4j
Neo4j Graph Platform Overview, Kurt Freytag, Neo4j
Neo4j
 
Graph databases
Graph databasesGraph databases
Graph databases
Vinoth Kannan
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use Cases
Max De Marzi
 
The Data Platform for Today’s Intelligent Applications
The Data Platform for Today’s Intelligent ApplicationsThe Data Platform for Today’s Intelligent Applications
The Data Platform for Today’s Intelligent Applications
Neo4j
 
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4jNeo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j
 
Graph Data Modeling Best Practices(Eric_Monk).pptx
Graph Data Modeling Best Practices(Eric_Monk).pptxGraph Data Modeling Best Practices(Eric_Monk).pptx
Graph Data Modeling Best Practices(Eric_Monk).pptx
Neo4j
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4j
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
 
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Neo4j
 
Graph Databases – Benefits and Risks
Graph Databases – Benefits and RisksGraph Databases – Benefits and Risks
Graph Databases – Benefits and Risks
DATAVERSITY
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4j
Neo4j
 

What's hot (20)

The Neo4j Data Platform for Today & Tomorrow.pdf
The Neo4j Data Platform for Today & Tomorrow.pdfThe Neo4j Data Platform for Today & Tomorrow.pdf
The Neo4j Data Platform for Today & Tomorrow.pdf
 
Graphs for Data Science and Machine Learning
Graphs for Data Science and Machine LearningGraphs for Data Science and Machine Learning
Graphs for Data Science and Machine Learning
 
Intro to Graphs and Neo4j
Intro to Graphs and Neo4jIntro to Graphs and Neo4j
Intro to Graphs and Neo4j
 
Introduction to Graph Databases.pdf
Introduction to Graph Databases.pdfIntroduction to Graph Databases.pdf
Introduction to Graph Databases.pdf
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph Databases
 
https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy...
https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy...https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy...
https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy...
 
NOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4jNOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4j
 
RDBMS to Graph
RDBMS to GraphRDBMS to Graph
RDBMS to Graph
 
How Graph Algorithms Answer your Business Questions in Banking and Beyond
How Graph Algorithms Answer your Business Questions in Banking and BeyondHow Graph Algorithms Answer your Business Questions in Banking and Beyond
How Graph Algorithms Answer your Business Questions in Banking and Beyond
 
Neo4j Graph Platform Overview, Kurt Freytag, Neo4j
Neo4j Graph Platform Overview, Kurt Freytag, Neo4jNeo4j Graph Platform Overview, Kurt Freytag, Neo4j
Neo4j Graph Platform Overview, Kurt Freytag, Neo4j
 
Graph databases
Graph databasesGraph databases
Graph databases
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use Cases
 
The Data Platform for Today’s Intelligent Applications
The Data Platform for Today’s Intelligent ApplicationsThe Data Platform for Today’s Intelligent Applications
The Data Platform for Today’s Intelligent Applications
 
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4jNeo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
 
Graph Data Modeling Best Practices(Eric_Monk).pptx
Graph Data Modeling Best Practices(Eric_Monk).pptxGraph Data Modeling Best Practices(Eric_Monk).pptx
Graph Data Modeling Best Practices(Eric_Monk).pptx
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to 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
 
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
 
Graph Databases – Benefits and Risks
Graph Databases – Benefits and RisksGraph Databases – Benefits and Risks
Graph Databases – Benefits and Risks
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4j
 

Similar to Data Modeling with Neo4j

Fast Focus: SQL Server Graph Database & Processing
Fast Focus: SQL Server Graph Database & ProcessingFast Focus: SQL Server Graph Database & Processing
Fast Focus: SQL Server Graph Database & Processing
Karen Lopez
 
Neo4j graph database
Neo4j graph databaseNeo4j graph database
Neo4j graph database
Prashant Bhargava
 
Using Graph Databases For Insights Into Connected Data.
Using Graph Databases For Insights Into Connected Data.Using Graph Databases For Insights Into Connected Data.
Using Graph Databases For Insights Into Connected Data.
Xebia IT Architects
 
Nosql
NosqlNosql
No sql – rise of the clusters
No sql – rise of the clustersNo sql – rise of the clusters
No sql – rise of the clusters
responseteam
 
Nosql
NosqlNosql
Nosql
ROXTAD71
 
Graph db
Graph dbGraph db
Graph db
Gagan Agrawal
 
Graph analysis over relational database
Graph analysis over relational databaseGraph analysis over relational database
Graph analysis over relational database
GraphRM
 
NoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and WhereNoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and Where
Eugene Hanikblum
 
Graph Databases - Where Do We Do the Modeling Part?
Graph Databases - Where Do We Do the Modeling Part?Graph Databases - Where Do We Do the Modeling Part?
Graph Databases - Where Do We Do the Modeling Part?
DATAVERSITY
 
GraphDatabases
GraphDatabasesGraphDatabases
GraphDatabases
Nader Albert
 
EVALUATING CASSANDRA, MONGO DB LIKE NOSQL DATASETS USING HADOOP STREAMING
EVALUATING CASSANDRA, MONGO DB LIKE NOSQL DATASETS USING HADOOP STREAMINGEVALUATING CASSANDRA, MONGO DB LIKE NOSQL DATASETS USING HADOOP STREAMING
EVALUATING CASSANDRA, MONGO DB LIKE NOSQL DATASETS USING HADOOP STREAMING
ijiert bestjournal
 
nosql.pptx
nosql.pptxnosql.pptx
nosql.pptx
Prakash Zodge
 
aRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con RaRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con R
GraphRM
 
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SFTed Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
MLconf
 
GraphDatabase.pptx
GraphDatabase.pptxGraphDatabase.pptx
GraphDatabase.pptx
JeyaVarthini1
 
Oslo baksia2014
Oslo baksia2014Oslo baksia2014
Oslo baksia2014
Max Neunhöffer
 
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptx
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptxGraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptx
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptx
Neo4j
 
3. Relationships Matter: Using Connected Data for Better Machine Learning
3. Relationships Matter: Using Connected Data for Better Machine Learning3. Relationships Matter: Using Connected Data for Better Machine Learning
3. Relationships Matter: Using Connected Data for Better Machine Learning
Neo4j
 
Graph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft EcosystemGraph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft Ecosystem
Marco Parenzan
 

Similar to Data Modeling with Neo4j (20)

Fast Focus: SQL Server Graph Database & Processing
Fast Focus: SQL Server Graph Database & ProcessingFast Focus: SQL Server Graph Database & Processing
Fast Focus: SQL Server Graph Database & Processing
 
Neo4j graph database
Neo4j graph databaseNeo4j graph database
Neo4j graph database
 
Using Graph Databases For Insights Into Connected Data.
Using Graph Databases For Insights Into Connected Data.Using Graph Databases For Insights Into Connected Data.
Using Graph Databases For Insights Into Connected Data.
 
Nosql
NosqlNosql
Nosql
 
No sql – rise of the clusters
No sql – rise of the clustersNo sql – rise of the clusters
No sql – rise of the clusters
 
Nosql
NosqlNosql
Nosql
 
Graph db
Graph dbGraph db
Graph db
 
Graph analysis over relational database
Graph analysis over relational databaseGraph analysis over relational database
Graph analysis over relational database
 
NoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and WhereNoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and Where
 
Graph Databases - Where Do We Do the Modeling Part?
Graph Databases - Where Do We Do the Modeling Part?Graph Databases - Where Do We Do the Modeling Part?
Graph Databases - Where Do We Do the Modeling Part?
 
GraphDatabases
GraphDatabasesGraphDatabases
GraphDatabases
 
EVALUATING CASSANDRA, MONGO DB LIKE NOSQL DATASETS USING HADOOP STREAMING
EVALUATING CASSANDRA, MONGO DB LIKE NOSQL DATASETS USING HADOOP STREAMINGEVALUATING CASSANDRA, MONGO DB LIKE NOSQL DATASETS USING HADOOP STREAMING
EVALUATING CASSANDRA, MONGO DB LIKE NOSQL DATASETS USING HADOOP STREAMING
 
nosql.pptx
nosql.pptxnosql.pptx
nosql.pptx
 
aRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con RaRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con R
 
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SFTed Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
 
GraphDatabase.pptx
GraphDatabase.pptxGraphDatabase.pptx
GraphDatabase.pptx
 
Oslo baksia2014
Oslo baksia2014Oslo baksia2014
Oslo baksia2014
 
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptx
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptxGraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptx
GraphSummit London Feb 2024 - ABK - Neo4j Product Vision and Roadmap.pptx
 
3. Relationships Matter: Using Connected Data for Better Machine Learning
3. Relationships Matter: Using Connected Data for Better Machine Learning3. Relationships Matter: Using Connected Data for Better Machine Learning
3. Relationships Matter: Using Connected Data for Better Machine Learning
 
Graph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft EcosystemGraph Databases in the Microsoft Ecosystem
Graph Databases in the Microsoft Ecosystem
 

More from Neo4j

Atelier - Architecture d’applications de Graphes - GraphSummit Paris
Atelier - Architecture d’applications de Graphes - GraphSummit ParisAtelier - Architecture d’applications de Graphes - GraphSummit Paris
Atelier - Architecture d’applications de Graphes - GraphSummit Paris
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 - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
FLOA - Détection de Fraude - GraphSummit Paris
FLOA -  Détection de Fraude - GraphSummit ParisFLOA -  Détection de Fraude - GraphSummit Paris
FLOA - Détection de Fraude - GraphSummit Paris
Neo4j
 
SOPRA STERIA - GraphRAG : repousser les limitations du RAG via l’utilisation ...
SOPRA STERIA - GraphRAG : repousser les limitations du RAG via l’utilisation ...SOPRA STERIA - GraphRAG : repousser les limitations du RAG via l’utilisation ...
SOPRA STERIA - GraphRAG : repousser les limitations du RAG via l’utilisation ...
Neo4j
 
ADEO - Knowledge Graph pour le e-commerce, entre challenges et opportunités ...
ADEO -  Knowledge Graph pour le e-commerce, entre challenges et opportunités ...ADEO -  Knowledge Graph pour le e-commerce, entre challenges et opportunités ...
ADEO - Knowledge Graph pour le e-commerce, entre challenges et opportunités ...
Neo4j
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
Neo4j
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
Neo4j
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
Neo4j
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
Neo4j
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Neo4j
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
Neo4j
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Neo4j
 

More from Neo4j (20)

Atelier - Architecture d’applications de Graphes - GraphSummit Paris
Atelier - Architecture d’applications de Graphes - GraphSummit ParisAtelier - Architecture d’applications de Graphes - GraphSummit Paris
Atelier - Architecture d’applications de Graphes - GraphSummit Paris
 
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 - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
FLOA - Détection de Fraude - GraphSummit Paris
FLOA -  Détection de Fraude - GraphSummit ParisFLOA -  Détection de Fraude - GraphSummit Paris
FLOA - Détection de Fraude - GraphSummit Paris
 
SOPRA STERIA - GraphRAG : repousser les limitations du RAG via l’utilisation ...
SOPRA STERIA - GraphRAG : repousser les limitations du RAG via l’utilisation ...SOPRA STERIA - GraphRAG : repousser les limitations du RAG via l’utilisation ...
SOPRA STERIA - GraphRAG : repousser les limitations du RAG via l’utilisation ...
 
ADEO - Knowledge Graph pour le e-commerce, entre challenges et opportunités ...
ADEO -  Knowledge Graph pour le e-commerce, entre challenges et opportunités ...ADEO -  Knowledge Graph pour le e-commerce, entre challenges et opportunités ...
ADEO - Knowledge Graph pour le e-commerce, entre challenges et opportunités ...
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 

Recently uploaded

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 

Recently uploaded (20)

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 

Data Modeling with Neo4j

  • 1. Data Modeling with Neo4j 1 Michael Hunger, Neo Technology @neo4j | @mesirii | michael@neo4j.org
  • 2. (Michael) -[:WORKS_ON]-> (Neo4j) ME Spring Cloud Community Cypher console community graph Server 2
  • 3. 3
  • 8. A graph database... 7 NO: not for charts & diagrams, or vector artwork
  • 9. A graph database... 7 NO: not for charts & diagrams, or vector artwork YES: for storing data that is structured as a graph
  • 10. A graph database... 7 NO: not for charts & diagrams, or vector artwork YES: for storing data that is structured as a graph remember linked lists, trees?
  • 11. A graph database... 7 NO: not for charts & diagrams, or vector artwork YES: for storing data that is structured as a graph remember linked lists, trees? graphs are the general-purpose data structure
  • 12. A graph database... 7 NO: not for charts & diagrams, or vector artwork YES: for storing data that is structured as a graph remember linked lists, trees? graphs are the general-purpose data structure “A relational database may tell you the average age of everyone in this place, but a graph database will tell you who is most likely to buy you a beer.”
  • 13. 8
  • 22. You know relational 8 now consider relationships...
  • 23. You know relational 8 now consider relationships...
  • 24. You know relational 8 now consider relationships...
  • 25. You know relational 8 now consider relationships...
  • 26. You know relational 8 now consider relationships...
  • 27. You know relational 8 now consider relationships...
  • 28. 8
  • 29. 9
  • 30. We're talking about a Property Graph 9
  • 31. We're talking about a Property Graph 9 Nodes
  • 32. We're talking about a Property Graph 9 Nodes Relationships
  • 37. 12 “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
  • 38. 13 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
  • 40. Why Data Modeling 15 ๏What is modeling? ๏Aren‘t we schema free? ๏How does it work in a graph? ๏Where should modeling happen? DB or Application
  • 49. Whiteboard --> Data 20 Andreas Peter Emil Allison knows knows knows knows // Cypher query - friend of a friend start n=node(0) match (n)--()--(foaf) return foaf
  • 50. 21
  • 51. You traverse the graph 21
  • 52. You traverse the graph 21
  • 53. // lookup starting point in an index START n=node:People(name = ‘Andreas’) Andreas You traverse the graph 21
  • 54. // lookup starting point in an index START n=node:People(name = ‘Andreas’) Andreas You traverse the graph 21 // then traverse to find results START me=node:People(name = ‘Andreas’ MATCH (me)-[:FRIEND]-(friend)-[:FRIEND]-(friend2) RETURN friend2
  • 55. 21
  • 56. SELECT skills.*, user_skill.* FROM users JOIN user_skill ON users.id = user_skill.user_id JOIN skills ON user_skill.skill_id = skill.id WHERE users.id = 1 22 START user = node(1) MATCH user -[user_skill]-> skill RETURN skill, user_skill
  • 58. What language do they speak here? Language Country
  • 59. What language do they speak here? Language Country
  • 60. What language do they speak here? Language Country
  • 62. Need to model the relationship language_code language_name word_count Language country_code country_name flag_uri language_code Country
  • 63. What if the cardinality changes? language_code language_name word_count country_code Language country_code country_name flag_uri Country
  • 64. Or we go many-to-many? language_code language_name word_count Language country_code country_name flag_uri Country language_code country_code LanguageCountry
  • 65. Or we want to qualify the relationship? language_code language_name word_count Language country_code country_name flag_uri Country language_code country_code primary LanguageCountry
  • 70. What’s different? ๏ Implementation of maintaining relationships is left up to the database ๏ Artificial keys disappear or are unnecessary ๏ Relationships get an explicit name • can be navigated in both directions
  • 74. Keep on adding relationships name word_count Language name flag_uri Country POPULATION_SPEAKS population_fraction SIMILAR_TO ADJACENT_TO
  • 76. Use the building blocks ๏ Nodes ๏ Relationships ๏ Properties name: value RELATIONSHIP_NAME
  • 77. Anti-pattern: rich properties name: “Canada” languages_spoken: “[ ‘English’, ‘French’ ]”
  • 79. Anti-Pattern: Node represents multiple concepts name flag_uri language_name number_of_words yes_in_language no_in_language currency_code currency_name Country
  • 80. USES_CURRENCY Split up in separate concepts name flag_uri currency_code currency_name Country name number_of_words yes no Country SPEAKS Currency currency_code currency_name
  • 81. Challenge: Property or Relationship? ๏ Can every property be replaced by a relationship? • Hint: triple stores. Are they easy to use? ๏ Should every entities with the same property values be connected?
  • 82. Object Mapping ๏ Similar to how you would map objects to a relational database, using an ORM such as Hibernate ๏ Generally simpler and easier to reason about ๏ Examples • Java: Spring Data Neo4j • Ruby: Active Model ๏ Why Map? • Do you use mapping because you are scared of SQL? • Following DDD, could you write your repositories directly against the graph API?
  • 83. CONNECT for fast access In-Graph Indices
  • 84. Relationships for querying ๏ like in other databases • same structure for different use-cases (OLTP and OLAP) doesn‘t work • graph allows: add more structures ๏ Relationships should the primary means to access nodes in the database ๏ Traversing relationships is cheap – that’s the whole design goal of a graph database ๏ Use lookups only to find starting nodes for a query Data Modeling examples in Manual
  • 85. Anti-pattern: unconnected graph name: “Jones” name: “Jones” name: “Jones” name: “Jones” name: “Jones” name: “Jones” name: “Jones” name: “Jones” name: “Jones” name: “Jones” name: “Jones”
  • 93. Evolution: Relationship to Node 59 Peter SENT_EMAIL Michael Peter EMAIL_FROM Michael EMAIL_TO Email Emil EMAIL_CC Community TAGGED . . . see Hyperedges
  • 94. Combine multiple Domains in a Graph ๏ you start with a single domain ๏ add more connected domains as your system evolves ๏ more domains allow to ask different queries ๏ one domain „indexes“ the other ๏ Example Facebook Graph Search • social graph • location graph • activity graph • favorite graph • ...
  • 95. Notes on the Graph Data Model ๏Schema free, but constraints ๏Model your graph with a whiteboard and a wise man ๏Nodes as main entities but useless without connections ๏Relationships are first level citizens in the model and database ๏Normalize more than in a relational database ๏use meaningful relationship-types, not generic ones like IS_ ๏use in-graph structures to allow different access paths ๏evolve your graph to your needs, incremental growth 61
  • 97. 63
  • 99. 63 Real World Use Cases: •[A] ACL from Hell
  • 100. 63 Real World Use Cases: •[A] ACL from Hell •[B] Timely recommendations
  • 101. 63 Real World Use Cases: •[A] ACL from Hell •[B] Timely recommendations •[C] Global collaboration
  • 102. [A] ACL from Hell 64
  • 103. [A] ACL from Hell ๏ Customer: • leading consumer utility company with tons and tons of users ๏ Goal: • comprehensive access control administration for customers ๏ Benefits: • Flexible and dynamic architecture • Exceptional performance • Extensible data model supports new applications and features • Low cost 64
  • 104. [A] ACL from Hell ๏ Customer: • leading consumer utility company with tons and tons of users ๏ Goal: • comprehensive access control administration for customers ๏ Benefits: • Flexible and dynamic architecture • Exceptional performance • Extensible data model supports new applications and features • Low cost 64 • A Reliable access control administration system for 5 million customers, subscriptions and agreements • Complex dependencies between groups, companies, individuals, accounts, products, subscriptions, services and agreements • Broad and deep graphs (master customers with 1000s of customers, subscriptions & agreements)
  • 105. [A] ACL from Hell ๏ Customer: • leading consumer utility company with tons and tons of users ๏ Goal: • comprehensive access control administration for customers ๏ Benefits: • Flexible and dynamic architecture • Exceptional performance • Extensible data model supports new applications and features • Low cost 64 • A Reliable access control administration system for 5 million customers, subscriptions and agreements • Complex dependencies between groups, companies, individuals, accounts, products, subscriptions, services and agreements • Broad and deep graphs (master customers with 1000s of customers, subscriptions & agreements) name: Andreas subscription: sports service: NFL account: 9758352794 agreement: ultimate owns subscribes to has plan includes provides group: graphistas promotion: fall member of offered discounts company: Neo Technologyworks with gets discount on subscription: local subscribes to provides service: Ravens includes
  • 107. [B] Timely Recommendations ๏ Customer: • a professional social network • 35 millions users, adding 30,000+ each day ๏ Goal: up-to-date recommendations • Scalable solution with real-time end-user experience • Low maintenance and reliable architecture • 8-week implementation 65
  • 108. [B] Timely Recommendations ๏ Customer: • a professional social network • 35 millions users, adding 30,000+ each day ๏ Goal: up-to-date recommendations • Scalable solution with real-time end-user experience • Low maintenance and reliable architecture • 8-week implementation 65 ๏ Problem: • Real-time recommendation imperative to attract new users and maintain positive user retention • Clustered MySQL solution not scalable or fast enough to support real-time requirements ๏ Upgrade from running a batch job • initial hour-long batch job • but then success happened, and it became a day • then two days ๏ With Neo4j, real time recommendations
  • 109. [B] Timely Recommendations ๏ Customer: • a professional social network • 35 millions users, adding 30,000+ each day ๏ Goal: up-to-date recommendations • Scalable solution with real-time end-user experience • Low maintenance and reliable architecture • 8-week implementation 65 ๏ Problem: • Real-time recommendation imperative to attract new users and maintain positive user retention • Clustered MySQL solution not scalable or fast enough to support real-time requirements ๏ Upgrade from running a batch job • initial hour-long batch job • but then success happened, and it became a day • then two days ๏ With Neo4j, real time recommendations name:Andreas job: talking name: Allison job: plumber name: Tobias job: coding knows knows name: Peter job: building name: Emil job: plumber knows name: Stephen job: DJ knows knows name: Delia job: barking knows knows name: Tiberius job: dancer knows knows knows knows
  • 110. [C] Collaboration on Global Scale 66
  • 111. [C] Collaboration on Global Scale ๏ Customer: a worldwide software leader • highly collaborative end-users ๏ Goal: offer an online platform for global collaboration • Highly flexible data analysis • Sub-second results for large, densely-connected data • User experience - competitive advantage 66
  • 112. [C] Collaboration on Global Scale ๏ Customer: a worldwide software leader • highly collaborative end-users ๏ Goal: offer an online platform for global collaboration • Highly flexible data analysis • Sub-second results for large, densely-connected data • User experience - competitive advantage 66 • Massive amounts of data tied to members, user groups, member content, etc. all interconnected • Infer collaborative relationships through user- generated content • Worldwide Availability
  • 113. [C] Collaboration on Global Scale ๏ Customer: a worldwide software leader • highly collaborative end-users ๏ Goal: offer an online platform for global collaboration • Highly flexible data analysis • Sub-second results for large, densely-connected data • User experience - competitive advantage 66 • Massive amounts of data tied to members, user groups, member content, etc. all interconnected • Infer collaborative relationships through user- generated content • Worldwide Availability Asia North America Europe
  • 114. [C] Collaboration on Global Scale ๏ Customer: a worldwide software leader • highly collaborative end-users ๏ Goal: offer an online platform for global collaboration • Highly flexible data analysis • Sub-second results for large, densely-connected data • User experience - competitive advantage 66 • Massive amounts of data tied to members, user groups, member content, etc. all interconnected • Infer collaborative relationships through user- generated content • Worldwide Availability Asia North America Europe Asia North America Europe
  • 115. How to get started? 67
  • 116. How to get started? ๏ Documentation 67
  • 117. How to get started? ๏ Documentation • neo4j.org 67
  • 118. How to get started? ๏ Documentation • neo4j.org 67
  • 119. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql 67
  • 120. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql 67
  • 121. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference 67
  • 122. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference 67
  • 123. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference ‣Data Modeling Examples 67
  • 124. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference ‣Data Modeling Examples • http://console.neo4j.org 67
  • 125. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference ‣Data Modeling Examples • http://console.neo4j.org 67
  • 126. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference ‣Data Modeling Examples • http://console.neo4j.org • Neo4j in Action 67
  • 127. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference ‣Data Modeling Examples • http://console.neo4j.org • Neo4j in Action 67
  • 128. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference ‣Data Modeling Examples • http://console.neo4j.org • Neo4j in Action • Good Relationships 67
  • 129. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference ‣Data Modeling Examples • http://console.neo4j.org • Neo4j in Action • Good Relationships ๏ Worldwide one-day Neo4j Trainings 67
  • 130. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference ‣Data Modeling Examples • http://console.neo4j.org • Neo4j in Action • Good Relationships ๏ Worldwide one-day Neo4j Trainings ๏ Get Neo4j 67
  • 131. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference ‣Data Modeling Examples • http://console.neo4j.org • Neo4j in Action • Good Relationships ๏ Worldwide one-day Neo4j Trainings ๏ Get Neo4j • http://neo4j.org/download 67
  • 132. How to get started? ๏ Documentation • neo4j.org ‣http://www.neo4j.org/learn/nosql • docs.neo4j.org - tutorials+reference ‣Data Modeling Examples • http://console.neo4j.org • Neo4j in Action • Good Relationships ๏ Worldwide one-day Neo4j Trainings ๏ Get Neo4j • http://neo4j.org/download • http://addons.heroku.com/neo4j/ 67
  • 133. 68
  • 134. 68 Really, once you start thinking in graphs it's hard to stop Recommendations MDM Systems Management Geospatial Social computing Business intelligence Biotechnology Making Sense of all that data your brain access control linguistics catalogs genealogyrouting compensation market vectors
  • 135. 68 Really, once you start thinking in graphs it's hard to stop Recommendations MDM Systems Management Geospatial Social computing Business intelligence Biotechnology Making Sense of all that data your brain access control linguistics catalogs genealogyrouting compensation market vectors What will you build?