INTRO TO NEO4J:
Uncovering Hidden Insights
through Graphs
Calin Constantinov / 18 April 2018
Honest Agenda
1. Shameless insufferable bragging
2. Needlessly boring theoretical stuff
3. Irrelevant graph model example
4. Disappointingly simple, confusingly-hasty, hands-on demo
INSIGHTS
WITHIN DATA
When to post
#WokeUpLikeThis
Identifying holiday seasons
Social-validation seeking, attention-wh**ing
My community
Who’s got swag?
My closest friends
We go way back, like spinal cords and car seats!
Mathematical background
Can you find the
the mistake?
Intermission
…but this is all purely theoretical…
Intermission
…it most likely doesn’t work in real life…
Intermission
…right?
Intermission
…I mean…wouldn’t that be kinda wrong?
Intermission
Eh… don’t worry about it…
Endorsements
She didn’t endorse me back :(
Percentage distribution for top 20 endorsed skills.
Wide-range and niche companies
Finding the perfect job for your hipster-esque coding needs
Percentage distribution for top 3 endorsed skills for selected companies.
Loyal employees
#relationshipgoals
Top 15 companies by average time an employee has a position in the company (in months).
GRAPHS
ARE FAST!
Case study: Minimalist social network
Epic battle!
Let’s consider a social network with 1 000 000 users, each having 50 friends.
SQL has to “fake” relationships (don’t we all?).
SQL: Graph:
Minimalist social network (cont’d)
S14E04: You have 0 friends
Also consider a non-reflexive scenario: Who are my followers?
Reversing the direction of a traversal would be difficult with non-native graph processing.
For that, you must either create a costly reverse-lookup index for each traversal or perform a
brute-force search through the original index.
The results are in!
Native Graph: Index-free adjacency
Lightning McQueen
Index-free adjacency ensures lightning-fast retrieval without the need for indexes.
Query times are only proportional to the amount of the graph searched.
Each node directly references its adjacent nodes, acting as a micro-index for all nearby nodes.
Bidirectional joins are effectively precomputed and stored in the database as relationships.
Relationships – rather than over-reliance on indexes – are used for efficient traversals.
Index-free adjacency (cont’d)
For native graph databases, node records point to lists of relationships, labels and properties.
Graph data is kept in store files, each of which contain data for a specific graph internals.
Example: The node store is a fixed-size record store, where each record is 15 bytes in length.
The database can directly compute a record’s location, at cost O(1).
Let's get dirty!
Index-free adjacency (cont’d‘d)
//TODO: find super awesome pun!
With fixed-sized records and pointer-like record IDs, traversals are implemented simply
by chasing pointers around a data structure, which can be performed at very high speed.
Neo4j 2.x could store 34 billion nodes. Neo4j 3.x deploys dynamic pointer compression for
infinite nodes.
Conceptually, it all comes down to this:
Index-free adjacency (cont’d‘d’d)
And find I'm king of the hill, top of the heap!
Neo4j 2.x lazy loading on-heap object-cache:
Neo4j 3.x relies only on a scalable, high performing LRU-K off-heap page-cache.
Key features for Neo4j
Fully ACID database.
Scalability and HA capabilities.
Intuitive data queries using Cypher.
Open source.
Neo4j takes things seriously: relationships are considered first class citizens!
Is returning something random considered eventual consistency?
Cypher
‘Member ASCII art? (っ◕‿◕)っ
Powerful and expressive query language requiring 10x to 100x less code than SQL.
Declarative language for describing patterns in graphs visually using an ASCII-art syntax.
Comes with a profiler / interactive query planner.
Looks come first (and you know it)
Visual models are easiest to comprehend by humans. Even the ER model is itself a graph!
Businesses need tools for capturing multiple-domain semantics within a visual data model.
Data interconnectivity and topology is at least as important as the data.
Let's Get Visual! Visual!
Making sense of data
The value of data isn’t represented by its volume, but by our capacity to understand the
relationships between its consisting elements.
Graph databases represent a technology that has the analytical and discovery capabilities
that no other persistence solution can provide.
Moreover, modern data is starting to have an obvious graph-like structure. SQL does not
naturally support graph specific operations (e.g. DFS, BFS).
In case of a traditional approach, queries take too long to complete to be run on demand.
That’s not necessarily the case for graphs!
Go graph like all the other cool kids!
MODELLING A
PROFESSIONAL
NETWORK
The fist job
You Had One Job!
The time domain
BTW, blink twice if I’m running late!
A job timeline
All your data are belong to us!
The complete graph model
This is so meta!
“…BUT WILL IT
BLEND?” DEMO
LET’S TALK.
calin.constantinov@iquestgroup.com
calin.constantinov@software.ucv.ro

More Related Content

PDF
Explain! Or I will sue you!
PDF
Workshop on Machine Learning
PDF
Train, explain, acclaim. Build a good model in three steps
PPTX
How Semantic Technology Can Stay Relevant in the Big Data Age?
PDF
A Blended Approach to Analytics at Data Tactics Corporation
DOCX
Heet detroja.resume
PPTX
Data Tactics Open Source Brief
DOCX
浅谈Teradata pi和si
Explain! Or I will sue you!
Workshop on Machine Learning
Train, explain, acclaim. Build a good model in three steps
How Semantic Technology Can Stay Relevant in the Big Data Age?
A Blended Approach to Analytics at Data Tactics Corporation
Heet detroja.resume
Data Tactics Open Source Brief
浅谈Teradata pi和si

Similar to Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018 (20)

PPTX
Neo4j Training Introduction
PPTX
Intro to Graph Theory
PDF
Intro to Graphs for Fedict
PDF
Intro to Neo4j and Graph Databases
PDF
Neo4j GraphTalk Helsinki - Introduction and Graph Use Cases
PDF
Neo4j Introduction Workshop for Partners
PPTX
Intro to Graph Theory w Neo4J
PDF
5.17 - IntroductionToNeo4j-allSlides_1_2022_DanMc.pdf
PDF
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
PPTX
Intro to Neo4j with Ruby
PDF
Graph Databases and Graph Data Science in Neo4j
PDF
managing big data
PDF
Getting started with Graph Databases & Neo4j
PPTX
GraphDatabase.pptx
PDF
Neo4j Presentation
PDF
Thinking about graphs
PDF
Intro to graphs for HR analytics
PPTX
Introduction to graph databases in term of neo4j
PDF
Graph database Use Cases
PDF
Graph Database Use Cases - StampedeCon 2015
Neo4j Training Introduction
Intro to Graph Theory
Intro to Graphs for Fedict
Intro to Neo4j and Graph Databases
Neo4j GraphTalk Helsinki - Introduction and Graph Use Cases
Neo4j Introduction Workshop for Partners
Intro to Graph Theory w Neo4J
5.17 - IntroductionToNeo4j-allSlides_1_2022_DanMc.pdf
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Intro to Neo4j with Ruby
Graph Databases and Graph Data Science in Neo4j
managing big data
Getting started with Graph Databases & Neo4j
GraphDatabase.pptx
Neo4j Presentation
Thinking about graphs
Intro to graphs for HR analytics
Introduction to graph databases in term of neo4j
Graph database Use Cases
Graph Database Use Cases - StampedeCon 2015
Ad

Recently uploaded (20)

PPTX
Measurement Uncertainty and Measurement System analysis
PDF
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
PDF
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
PDF
Computer System Architecture 3rd Edition-M Morris Mano.pdf
PDF
Computer organization and architecuture Digital Notes....pdf
PPTX
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
PPTX
Petroleum Refining & Petrochemicals.pptx
PPTX
A Brief Introduction to IoT- Smart Objects: The "Things" in IoT
PDF
Design of Material Handling Equipment Lecture Note
PPTX
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PDF
First part_B-Image Processing - 1 of 2).pdf
PDF
Java Basics-Introduction and program control
PPTX
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
PPTX
"Array and Linked List in Data Structures with Types, Operations, Implementat...
PPTX
ai_satellite_crop_management_20250815030350.pptx
PPTX
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
PPTX
Amdahl’s law is explained in the above power point presentations
PPTX
CyberSecurity Mobile and Wireless Devices
Measurement Uncertainty and Measurement System analysis
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
Computer System Architecture 3rd Edition-M Morris Mano.pdf
Computer organization and architecuture Digital Notes....pdf
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
Petroleum Refining & Petrochemicals.pptx
A Brief Introduction to IoT- Smart Objects: The "Things" in IoT
Design of Material Handling Equipment Lecture Note
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
Exploratory_Data_Analysis_Fundamentals.pdf
August 2025 - Top 10 Read Articles in Network Security & Its Applications
First part_B-Image Processing - 1 of 2).pdf
Java Basics-Introduction and program control
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
"Array and Linked List in Data Structures with Types, Operations, Implementat...
ai_satellite_crop_management_20250815030350.pptx
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
Amdahl’s law is explained in the above power point presentations
CyberSecurity Mobile and Wireless Devices
Ad

Calin Constantinov - Neo4j - Bucharest Big Data Week Meetup - Bucharest 2018

  • 1. INTRO TO NEO4J: Uncovering Hidden Insights through Graphs Calin Constantinov / 18 April 2018
  • 2. Honest Agenda 1. Shameless insufferable bragging 2. Needlessly boring theoretical stuff 3. Irrelevant graph model example 4. Disappointingly simple, confusingly-hasty, hands-on demo
  • 7. My closest friends We go way back, like spinal cords and car seats!
  • 8. Mathematical background Can you find the the mistake?
  • 9. Intermission …but this is all purely theoretical…
  • 10. Intermission …it most likely doesn’t work in real life…
  • 14. Endorsements She didn’t endorse me back :( Percentage distribution for top 20 endorsed skills.
  • 15. Wide-range and niche companies Finding the perfect job for your hipster-esque coding needs Percentage distribution for top 3 endorsed skills for selected companies.
  • 16. Loyal employees #relationshipgoals Top 15 companies by average time an employee has a position in the company (in months).
  • 18. Case study: Minimalist social network Epic battle! Let’s consider a social network with 1 000 000 users, each having 50 friends. SQL has to “fake” relationships (don’t we all?). SQL: Graph:
  • 19. Minimalist social network (cont’d) S14E04: You have 0 friends Also consider a non-reflexive scenario: Who are my followers? Reversing the direction of a traversal would be difficult with non-native graph processing. For that, you must either create a costly reverse-lookup index for each traversal or perform a brute-force search through the original index. The results are in!
  • 20. Native Graph: Index-free adjacency Lightning McQueen Index-free adjacency ensures lightning-fast retrieval without the need for indexes. Query times are only proportional to the amount of the graph searched. Each node directly references its adjacent nodes, acting as a micro-index for all nearby nodes. Bidirectional joins are effectively precomputed and stored in the database as relationships. Relationships – rather than over-reliance on indexes – are used for efficient traversals.
  • 21. Index-free adjacency (cont’d) For native graph databases, node records point to lists of relationships, labels and properties. Graph data is kept in store files, each of which contain data for a specific graph internals. Example: The node store is a fixed-size record store, where each record is 15 bytes in length. The database can directly compute a record’s location, at cost O(1). Let's get dirty!
  • 22. Index-free adjacency (cont’d‘d) //TODO: find super awesome pun! With fixed-sized records and pointer-like record IDs, traversals are implemented simply by chasing pointers around a data structure, which can be performed at very high speed. Neo4j 2.x could store 34 billion nodes. Neo4j 3.x deploys dynamic pointer compression for infinite nodes. Conceptually, it all comes down to this:
  • 23. Index-free adjacency (cont’d‘d’d) And find I'm king of the hill, top of the heap! Neo4j 2.x lazy loading on-heap object-cache: Neo4j 3.x relies only on a scalable, high performing LRU-K off-heap page-cache.
  • 24. Key features for Neo4j Fully ACID database. Scalability and HA capabilities. Intuitive data queries using Cypher. Open source. Neo4j takes things seriously: relationships are considered first class citizens! Is returning something random considered eventual consistency?
  • 25. Cypher ‘Member ASCII art? (っ◕‿◕)っ Powerful and expressive query language requiring 10x to 100x less code than SQL. Declarative language for describing patterns in graphs visually using an ASCII-art syntax. Comes with a profiler / interactive query planner.
  • 26. Looks come first (and you know it) Visual models are easiest to comprehend by humans. Even the ER model is itself a graph! Businesses need tools for capturing multiple-domain semantics within a visual data model. Data interconnectivity and topology is at least as important as the data. Let's Get Visual! Visual!
  • 27. Making sense of data The value of data isn’t represented by its volume, but by our capacity to understand the relationships between its consisting elements. Graph databases represent a technology that has the analytical and discovery capabilities that no other persistence solution can provide. Moreover, modern data is starting to have an obvious graph-like structure. SQL does not naturally support graph specific operations (e.g. DFS, BFS). In case of a traditional approach, queries take too long to complete to be run on demand. That’s not necessarily the case for graphs! Go graph like all the other cool kids!
  • 29. The fist job You Had One Job!
  • 30. The time domain BTW, blink twice if I’m running late!
  • 31. A job timeline All your data are belong to us!
  • 32. The complete graph model This is so meta!

Editor's Notes