SlideShare a Scribd company logo
1 of 53
Hands on Training – Graph
Database with Neo4j
www.serendio.com
Content
• Introduction
• The Graph Database: Neo4j
• Neo4j - Cypher Query Language
– CRUD operations
• Use cases
– Mumbai Local Train
– Movie Recommendation
– Email Analytics
• Neo4j Tools: Import, Visualization
• Conclusion
Introduction to Nosql
Nosql = Not Only SQL
4
What is Graph?
V1
V4
V6
V7
V2
V5
V3
The set of objects connected by links.
The Graph based Technologies in
BigData/Nosql domain
Storage & Traversal/Query
• Neo4j
• TitanDB
• OrientDB
Processing/Computation Engines
• Apache Giraph
• GraphLab
• Apache Spark Graph ML/Graphx
Graph Databases
• A database which follows graph structure
• Each node knows its adjacent nodes
• As the number of nodes increases, the cost of local
step remains the same
• Index for lookups
• Optimized for traversing connected data
Neo4j
• Graph database from Neo Technology
• A schema-free labeled Property Graph Database +
Lucene Index
• Perfect for complex, highly connected data
• Reliable with real ACID Transactions
• Scalable: Billions of Nodes and Relationships, Scale
out with highly available Neo4j Cluster
• Server with REST API or Embeddable
• Declarative Query Language (Cypher)
Neo4j: Strengths & Weakness
Strengths
• Powerful data model
• Whiteboard friendly
• Fast for connected data
• Easy to query
Weakness
• Sharding
• Requires Conceptual Shift (Graph like thinking)
Four Building Blocks
• Nodes
• Relationships
• Properties
• Labels
(:USER)
[:RELATIVE
] (:PET)
Name: Mike
Animal: Dog
Name: Apple
Age: 25
Relation: Owner
10Serendio Proprietary and Confidential
SQL to Graph DB: Data Model
Transformation
SQL Graph DB
Table Type of Node
Rows of Table Nodes
Columns of Table Node-Properties
Foreign-key, Joins Relationships
SQL to Graph DB: Data Model
Transformation
Name Movies
Language
Rajnikant Tamil
Maheshbabu Telugu
Vijay Tamil
Prabhas Telugu
Name Lead Actor
Bahubali Prabhas
Puli Vijay
Shrimanthudu Maheshbabu
Robot Rajnikant
Table: Actor
Table: Movie
ACTOR
MOVIE
ACTOR
MOVIE
Name Prabhas
Movie
Language
Telugu
Name Rajnikant
Movie
Language
TamilName Bahubali
Name Robot
LEAD_ACTOR
LEAD_ACTOR
Interact with Neo4j
• Web Interface
– http://IP:7474/browser/
– http://IP:7474/webadmin/
• Neo4j Console
• REST API
• Java Native Libraries
How to query Graph Database?
• Graph Query Language
– Cypher
– Gremlin
A pattern-matching
query language for graphs
Cypher
Cypher Query Language
• Declarative
• SQL-inspired
• Pattern based
Apple Orange
LIKES
(Apple:FRUIT) - [connect:RELATIVE] -> (Orange:FRUIT)
Cypher: Getting Started
Structure:
• Similar to SQL
• Most common clauses:
– MATCH: the graph pattern for matching
– WHERE: add constrains or filter
– RETURN: what to return
Cypher: Frequently Used Queries
• get whole database:
MATCH n RETURN n
• delete whole database:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
CRUD Operations
Copy the code from link and paste in Noe4j Web Browser
MATCH:
• MATCH (n) RETURN n
• MATCH (movie:Movie) RETURN movie
• MATCH (movie:Movie { title: 'Bahubali' }) RETURN movie
• MATCH (director { name:'Rajamouli' })--(movie) RETURN movie.title
• MATCH (raj:Person { name:'Rajamouli'})--(movie:Movie) RETURN movie
• MATCH (raj:Person { name:'Rajamouli'})-->(movie:Movie) RETURN movie
• MATCH (raj:Person { name:'Rajamouli'})<--(movie:Movie) RETURN movie
• MATCH (raj:Person { name:'Rajamouli'})-[:DIRECTED]->(movie:Movie)
RETURN movie
CRUD Operations
WHERE:
• MATCH (n)
WHERE n:Movie
RETURN n
• MATCH (n)
WHERE n.name <> 'Prabhas'
RETURN n
CRUD Operations
Let clean the database:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
CRUD Operations
CREATE:
Node:
• CREATE (n)
• CREATE (n),(m)
• CREATE (n:Person)
• CREATE (n:Person:Swedish)
• CREATE (n:Person { name : 'Andres', title : 'Developer' })
• CREATE (a:Person { name : 'Roman' }) RETURN a
CRUD Operations
CREATE:
Relationships:
• MATCH (a:Person),(b:Person)
WHERE a.name = 'Roman' AND b.name = 'Andres'
CREATE (a)-[r:RELTYPE]->(b)
RETURN r
• MATCH (a:Person),(b:Person)
WHERE a.name = 'Roman' AND b.name = 'Andres'
CREATE (a)-[r:RELTYPE { name : a.name + '<->' + b.name }]->(b)
RETURN r
CRUD Operations
CREATE:
Relationships:
• CREATE p =(andres { name:'Andres'}) - [:WORKS_AT] -> (neo)
<- [:WORKS_AT] - (michael { name:'Michael' })
RETURN p
CRUD Operations
UPDATE:
Properties:
• MATCH (n:Person { name : 'Andres' }) SET n :Person:Coder
• MATCH (n:Person { name : 'Andres', title : 'Developer' }) SET
n.title = 'Mang'
CRUD Operations
DELETE:
• MATCH (n:Person)
WHERE n.name = 'Andres'
DELETE n
• MATCH (n { name: 'Andres' })-[r]-()
DELETE n, r
• MATCH (n:Person)
DELETE n
• MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
Functions
Predicates:
• ALL(identifier in collection WHERE predicate)
• ANY(identifier in collection WHERE predicate)
• NONE(identifier in collection WHERE predicate)
• SINGLE(identifier in collection WHERE predicate)
• EXISTS( pattern-or-property )
Scalar Function:
• LENGTH( collection/pattern expression )
• TYPE( relationship )
• ID( property-container )
• COALESCE( expression [, expression]* )
• HEAD( expression )
• LAST( expression )
• TIMESTAMP()
Functions
Collection Function:
• NODES( path )
• RELATIONSHIPS( path )
• LABELS( node )
• FILTER(identifier in collection WHERE predicate)
• REDUCE( accumulator = initial, identifier in collection | expression )
Mathematical Function:
• ABS( expression )
• COS( expression )
• LOG( expression )
• ROUND( expression )
• SQRT( expression )
Neo4j in Action
Usecases
Use case 1: Mumbai Local Train*
Problem
• Four main railway lines- Western, Central, Harbour and Trans
Harbour.
• Each line serves various sections of the city.
• To travel across sections, one must change lines at various
interchange stations.
• Find the shortest path from source station to destination
station.
•*https://gist.github.com/luanne/8159102
Use case 1: Mumbai Local Train (conti..)
Use case 1: Mumbai Local Train (conti..)
Solution:
• Create railway network graph.
• Use shortest path algo for source and destination.
Use case 1: Mumbai Local Train (conti..)
Graph Database Model:
Station Station
Next
Use case 1: Mumbai Local Train (conti..)
Create Graph
• Open the file from link below, copy-paste and run it on neo4j.
Use case 1: Mumbai Local Train (conti..)
• Query 1: The Graph
match n return n
• Query 2: Route from Churchgate to Vashi
match (s1 {name:"Churchgate"}),(s2 {name:"Vashi"}),
p=shortestPath((s1)-[:NEXT*]->(s2))
return p
• Query 3: Route from Santa Cruz to Dockyard
Road
match (s1 {name:"Santa Cruz"}),(s2 {name:"Dockyard Road"}),
p=shortestPath((s1)-[:NEXT*]-(s2))
return p
Use Case 2: Movie Recommendation*
Problem:
• We are running IMDB type website.
• We have dataset which contains movie rating done by users.
• Our problem is to generate list of movies which will be
recommended to individual users.
* http://www.neo4j.org/graphgist?8173017
Use Case 2: Movie Recommendation
(Conti..)
Solution:
• We will find the people who has given similar rating to the
movies watch by both of them.
• After that we will recommend movies which one has not seen
and other has rated high.
• Cosine Similarity function to calculate similarity between
users.
• k-Nearest Neighbors for finding similar users
Use Case 2: Movie Recommendation
(Conti..)
• Cosine Similarity:
• K-NN:
Use Case 2: Movie Recommendation
(Conti..)
• Let’s create real dataset with you folks.
• Visit:
http://graphlab.byethost7.com/movie_recco/index.php
Use Case 2: Movie Recommendation
(Conti..)
Dataset:
• Nodes:
– movies.csv
– users.csv
• Edges:
– rating.csv
EXTRA FILES WE WILL CREATE
• movies_header.csv
• users_header.csv
• rating_header.csv
Use Case 2: Movie Recommendation
(Conti..)
• Import to Neo4j
$ ./neo4j-import 
--into /tmp/graph.db 
--nodes:USER person_header.csv,person.csv 
--nodes:MOVIES movies_header.csv,movies.csv 
--relationships:RATING rating_header.csv, rating.csv
Use Case 2: Movie Recommendation
(Conti..)
• Query:Add Cosine Similarity
MATCH (p1:USER)-[x:RATING]->(m:MOVIES)<-[y:RATING]-(p2:USER)
WITH SUM(x.rating * y.rating) AS xyDotProduct,
SQRT(REDUCE(xDot = 0.0, a IN COLLECT(x.rating) | xDot + a^2)) AS
xLength,
SQRT(REDUCE(yDot = 0.0, b IN COLLECT(y.rating) | yDot + b^2)) AS
yLength,
p1, p2
MERGE (p1)-[s:SIMILARITY]-(p2)
SET s.similarity = xyDotProduct / (xLength * yLength)
Use Case 2: Movie Recommendation
(Conti..)
• Query: See who is your neighbor in
similarity
MATCH (p1:USER {name:'Nishant'})-[s:SIMILARITY](p2:USER)
WITH p2, s.similarity AS sim
ORDER BY sim DESC
LIMIT 5
RETURN p2.name AS Neighbor, sim AS Similarity
Use Case 2: Movie Recommendation
(Conti..)
• Query: Recommendation Finally :D
MATCH (b:USER)-[r:RATING]->(m:MOVIES), (b)-[s:SIMILARITY]-(a:USER
{name:'Nishant'})
WHERE NOT((a)-[:RATING]->(m))
WITH m, s.similarity AS similarity, r.rating AS rating
ORDER BY m.name, similarity DESC
WITH m.name AS movie, COLLECT(rating)[0..3] AS ratings
WITH movie, REDUCE(s = 0, i IN ratings | s + i)*1.0 / LENGTH(ratings) AS
reco
ORDER BY reco DESC
RETURN movie AS Movie, reco AS Recommendation
Use Case 3: Email Analytics*
Overview:
• Framework for analyzing large email datasets
• Capability of performing Sentiment Analysis and Topic
Extraction on email dataset
• Accessed through Command Line Interface
• Incubated at Serendio and open source project now.
*https://github.com/serendio-labs/email-analytics
Use Case 3: Email Analytics (Conti..)
System Architecture:
Use Case 3: Email Analytics (Conti..)
• DEMO
Use Case 3: Email Analytics (Conti..)
Possible Use cases:
• Keep track of your employee’s activities.
• Fraud-detection
• Data-mining for Business Analytics
Use Case 3: Email Analytics (Conti..)
• Come forward and contribute:
• The project need attention in the area of
– Web-UI
– REST API
– Unit Test
– Custom Email Format Support
– Other Features
Neo4j with Other Technologies
Neo4j-
Integration
Neo4j with Other technologies
• Data Import
– LOAD CSV
– Neo4j-import
• Graph Visualization
– Alistair Jones (Arrow)
– Alchemy.js (GraphJSON)
– Neo4j Browser
– Linkurious
– Keylines
– D3.js
Neo4j Integration
• Apache Spark
• Elasticsearch
• Docker
Conclusion

Graph Database Technologies like Neo4j has lot of potential
to solve many complex problems.

The neo4j is mature technology which can be used in
designing solutions.
nishant@serendio.com
Serendio provides Big Data Science Solutions &
Services for Data-Driven Enterprises.
Learn more at:
serendio.com/index.php/case-studies
Thank You!

More Related Content

What's hot

Our journey with druid - from initial research to full production scale
Our journey with druid - from initial research to full production scaleOur journey with druid - from initial research to full production scale
Our journey with druid - from initial research to full production scaleItai Yaffe
 
Data Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBData Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBconfluent
 
Sizing MongoDB Clusters
Sizing MongoDB Clusters Sizing MongoDB Clusters
Sizing MongoDB Clusters MongoDB
 
Common Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseCommon Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseDatabricks
 
openCypher: Introducing subqueries
openCypher: Introducing subqueriesopenCypher: Introducing subqueries
openCypher: Introducing subqueriesopenCypher
 
Introduction to Generative Adversarial Networks (GANs)
Introduction to Generative Adversarial Networks (GANs)Introduction to Generative Adversarial Networks (GANs)
Introduction to Generative Adversarial Networks (GANs)Appsilon Data Science
 
A Practical Enterprise Feature Store on Delta Lake
A Practical Enterprise Feature Store on Delta LakeA Practical Enterprise Feature Store on Delta Lake
A Practical Enterprise Feature Store on Delta LakeDatabricks
 
Let's Build an Inverted Index: Introduction to Apache Lucene/Solr
Let's Build an Inverted Index: Introduction to Apache Lucene/SolrLet's Build an Inverted Index: Introduction to Apache Lucene/Solr
Let's Build an Inverted Index: Introduction to Apache Lucene/SolrSease
 
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...ScyllaDB
 
A Comparative analysis of Graph Databases vs Relational Database
A Comparative analysis of Graph Databases vs Relational Database A Comparative analysis of Graph Databases vs Relational Database
A Comparative analysis of Graph Databases vs Relational Database Darroch Greally
 
Information Retrieval using Semantic Similarity
Information Retrieval using Semantic SimilarityInformation Retrieval using Semantic Similarity
Information Retrieval using Semantic SimilaritySaswat Padhi
 
NLP using transformers
NLP using transformers NLP using transformers
NLP using transformers Arvind Devaraj
 
How to build a GPT model.pdf
How to build a GPT model.pdfHow to build a GPT model.pdf
How to build a GPT model.pdfStephenAmell4
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4jNeo4j
 
Lecture: Word Sense Disambiguation
Lecture: Word Sense DisambiguationLecture: Word Sense Disambiguation
Lecture: Word Sense DisambiguationMarina Santini
 
Recommender Systems (Machine Learning Summer School 2014 @ CMU)
Recommender Systems (Machine Learning Summer School 2014 @ CMU)Recommender Systems (Machine Learning Summer School 2014 @ CMU)
Recommender Systems (Machine Learning Summer School 2014 @ CMU)Xavier Amatriain
 
Neo4j 4 Overview
Neo4j 4 OverviewNeo4j 4 Overview
Neo4j 4 OverviewNeo4j
 
Approximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetupApproximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetupErik Bernhardsson
 

What's hot (20)

AI Hardware
AI HardwareAI Hardware
AI Hardware
 
Our journey with druid - from initial research to full production scale
Our journey with druid - from initial research to full production scaleOur journey with druid - from initial research to full production scale
Our journey with druid - from initial research to full production scale
 
Data Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBData Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDB
 
Sizing MongoDB Clusters
Sizing MongoDB Clusters Sizing MongoDB Clusters
Sizing MongoDB Clusters
 
Common Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseCommon Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta Lakehouse
 
openCypher: Introducing subqueries
openCypher: Introducing subqueriesopenCypher: Introducing subqueries
openCypher: Introducing subqueries
 
Introduction to Generative Adversarial Networks (GANs)
Introduction to Generative Adversarial Networks (GANs)Introduction to Generative Adversarial Networks (GANs)
Introduction to Generative Adversarial Networks (GANs)
 
A Practical Enterprise Feature Store on Delta Lake
A Practical Enterprise Feature Store on Delta LakeA Practical Enterprise Feature Store on Delta Lake
A Practical Enterprise Feature Store on Delta Lake
 
Nlp ambiguity presentation
Nlp ambiguity presentationNlp ambiguity presentation
Nlp ambiguity presentation
 
Let's Build an Inverted Index: Introduction to Apache Lucene/Solr
Let's Build an Inverted Index: Introduction to Apache Lucene/SolrLet's Build an Inverted Index: Introduction to Apache Lucene/Solr
Let's Build an Inverted Index: Introduction to Apache Lucene/Solr
 
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
 
A Comparative analysis of Graph Databases vs Relational Database
A Comparative analysis of Graph Databases vs Relational Database A Comparative analysis of Graph Databases vs Relational Database
A Comparative analysis of Graph Databases vs Relational Database
 
Information Retrieval using Semantic Similarity
Information Retrieval using Semantic SimilarityInformation Retrieval using Semantic Similarity
Information Retrieval using Semantic Similarity
 
NLP using transformers
NLP using transformers NLP using transformers
NLP using transformers
 
How to build a GPT model.pdf
How to build a GPT model.pdfHow to build a GPT model.pdf
How to build a GPT model.pdf
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4j
 
Lecture: Word Sense Disambiguation
Lecture: Word Sense DisambiguationLecture: Word Sense Disambiguation
Lecture: Word Sense Disambiguation
 
Recommender Systems (Machine Learning Summer School 2014 @ CMU)
Recommender Systems (Machine Learning Summer School 2014 @ CMU)Recommender Systems (Machine Learning Summer School 2014 @ CMU)
Recommender Systems (Machine Learning Summer School 2014 @ CMU)
 
Neo4j 4 Overview
Neo4j 4 OverviewNeo4j 4 Overview
Neo4j 4 Overview
 
Approximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetupApproximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetup
 

Viewers also liked

Rdf data-model-and-storage
Rdf data-model-and-storageRdf data-model-and-storage
Rdf data-model-and-storage灿辉 葛
 
Intro to Spring Data Neo4j
Intro to Spring Data Neo4jIntro to Spring Data Neo4j
Intro to Spring Data Neo4jjexp
 
Mapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in JavaMapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in JavaJoachim Van der Auwera
 
Building a recommendation engine with python and neo4j
Building a recommendation engine with python and neo4jBuilding a recommendation engine with python and neo4j
Building a recommendation engine with python and neo4jMark Needham
 
Thinking Outside the Table
Thinking Outside the TableThinking Outside the Table
Thinking Outside the TableOntotext
 
Choosing the Right Graph Database to Succeed in Your Project
Choosing the Right Graph Database to Succeed in Your ProjectChoosing the Right Graph Database to Succeed in Your Project
Choosing the Right Graph Database to Succeed in Your ProjectOntotext
 
Big MDM Part 2: Using a Graph Database for MDM and Relationship Management
Big MDM Part 2: Using a Graph Database for MDM and Relationship ManagementBig MDM Part 2: Using a Graph Database for MDM and Relationship Management
Big MDM Part 2: Using a Graph Database for MDM and Relationship ManagementCaserta
 
Natural Language Processing with Graph Databases and Neo4j
Natural Language Processing with Graph Databases and Neo4jNatural Language Processing with Graph Databases and Neo4j
Natural Language Processing with Graph Databases and Neo4jWilliam Lyon
 
An Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4jAn Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4jDebanjan Mahata
 
Graph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBayGraph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBayDataStax Academy
 
Managing Connected Big Data in Art with Neo4j Graph Database - Lorenzo Speran...
Managing Connected Big Data in Art with Neo4j Graph Database - Lorenzo Speran...Managing Connected Big Data in Art with Neo4j Graph Database - Lorenzo Speran...
Managing Connected Big Data in Art with Neo4j Graph Database - Lorenzo Speran...Codemotion
 
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial Fraud
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial FraudGraphDay Stockholm - Levaraging Graph-Technology to fight Financial Fraud
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial FraudNeo4j
 
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAP
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAPOpen Standards for the Semantic Web: XML / RDF(S) / OWL / SOAP
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAPPieter De Leenheer
 
GraphDay Stockholm - Telia Zone
GraphDay Stockholm - Telia Zone GraphDay Stockholm - Telia Zone
GraphDay Stockholm - Telia Zone Neo4j
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraMarkus Lanthaler
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesNeo4j
 
Using MongoDB as a high performance graph database
Using MongoDB as a high performance graph databaseUsing MongoDB as a high performance graph database
Using MongoDB as a high performance graph databaseChris Clarke
 
Knowledge Architecture: Graphing Your Knowledge
Knowledge Architecture: Graphing Your KnowledgeKnowledge Architecture: Graphing Your Knowledge
Knowledge Architecture: Graphing Your KnowledgeNeo4j
 

Viewers also liked (20)

Rdf data-model-and-storage
Rdf data-model-and-storageRdf data-model-and-storage
Rdf data-model-and-storage
 
Intro to Spring Data Neo4j
Intro to Spring Data Neo4jIntro to Spring Data Neo4j
Intro to Spring Data Neo4j
 
Mapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in JavaMapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in Java
 
Building a recommendation engine with python and neo4j
Building a recommendation engine with python and neo4jBuilding a recommendation engine with python and neo4j
Building a recommendation engine with python and neo4j
 
Thinking Outside the Table
Thinking Outside the TableThinking Outside the Table
Thinking Outside the Table
 
Choosing the Right Graph Database to Succeed in Your Project
Choosing the Right Graph Database to Succeed in Your ProjectChoosing the Right Graph Database to Succeed in Your Project
Choosing the Right Graph Database to Succeed in Your Project
 
Big MDM Part 2: Using a Graph Database for MDM and Relationship Management
Big MDM Part 2: Using a Graph Database for MDM and Relationship ManagementBig MDM Part 2: Using a Graph Database for MDM and Relationship Management
Big MDM Part 2: Using a Graph Database for MDM and Relationship Management
 
Natural Language Processing with Graph Databases and Neo4j
Natural Language Processing with Graph Databases and Neo4jNatural Language Processing with Graph Databases and Neo4j
Natural Language Processing with Graph Databases and Neo4j
 
An Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4jAn Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4j
 
Graph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBayGraph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBay
 
Managing Connected Big Data in Art with Neo4j Graph Database - Lorenzo Speran...
Managing Connected Big Data in Art with Neo4j Graph Database - Lorenzo Speran...Managing Connected Big Data in Art with Neo4j Graph Database - Lorenzo Speran...
Managing Connected Big Data in Art with Neo4j Graph Database - Lorenzo Speran...
 
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial Fraud
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial FraudGraphDay Stockholm - Levaraging Graph-Technology to fight Financial Fraud
GraphDay Stockholm - Levaraging Graph-Technology to fight Financial Fraud
 
JSON-LD and MongoDB
JSON-LD and MongoDBJSON-LD and MongoDB
JSON-LD and MongoDB
 
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAP
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAPOpen Standards for the Semantic Web: XML / RDF(S) / OWL / SOAP
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAP
 
GraphDay Stockholm - Telia Zone
GraphDay Stockholm - Telia Zone GraphDay Stockholm - Telia Zone
GraphDay Stockholm - Telia Zone
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and Hydra
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph Databases
 
Using MongoDB as a high performance graph database
Using MongoDB as a high performance graph databaseUsing MongoDB as a high performance graph database
Using MongoDB as a high performance graph database
 
Knowledge Architecture: Graphing Your Knowledge
Knowledge Architecture: Graphing Your KnowledgeKnowledge Architecture: Graphing Your Knowledge
Knowledge Architecture: Graphing Your Knowledge
 

Similar to Hands on Training – Graph Database with Neo4j

Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large GraphsNishant Gandhi
 
Introduction to Neo4j and .Net
Introduction to Neo4j and .NetIntroduction to Neo4j and .Net
Introduction to Neo4j and .NetNeo4j
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageNeo4j
 
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-convertedNeo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-convertedsnehapandey01
 
Windy City DB - Recommendation Engine with Neo4j
Windy City DB - Recommendation Engine with Neo4jWindy City DB - Recommendation Engine with Neo4j
Windy City DB - Recommendation Engine with Neo4jMax De Marzi
 
Neo4j Introduction (for Techies)
Neo4j Introduction (for Techies)Neo4j Introduction (for Techies)
Neo4j Introduction (for Techies)Patrick Baumgartner
 
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014
(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014Amazon Web Services
 
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...jexp
 
The 2nd graph database in sv meetup
The 2nd graph database in sv meetupThe 2nd graph database in sv meetup
The 2nd graph database in sv meetupJoshua Bae
 
Using Neo4j from Java
Using Neo4j from JavaUsing Neo4j from Java
Using Neo4j from JavaNeo4j
 
Cypher and apache spark multiple graphs and more in open cypher
Cypher and apache spark  multiple graphs and more in  open cypherCypher and apache spark  multiple graphs and more in  open cypher
Cypher and apache spark multiple graphs and more in open cypherNeo4j
 
3rd Athens Big Data Meetup - 2nd Talk - Neo4j: The World's Leading Graph DB
3rd Athens Big Data Meetup - 2nd Talk - Neo4j: The World's Leading Graph DB3rd Athens Big Data Meetup - 2nd Talk - Neo4j: The World's Leading Graph DB
3rd Athens Big Data Meetup - 2nd Talk - Neo4j: The World's Leading Graph DBAthens Big Data
 
Introduction to Graphs with Neo4j
Introduction to Graphs with Neo4jIntroduction to Graphs with Neo4j
Introduction to Graphs with Neo4jNeo4j
 
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPLeveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPJeremy Kendall
 
GraphConnect EU 2017 - Performance Improvements in Neo4j 3.2
GraphConnect EU 2017 - Performance Improvements in Neo4j 3.2GraphConnect EU 2017 - Performance Improvements in Neo4j 3.2
GraphConnect EU 2017 - Performance Improvements in Neo4j 3.2Craig Taverner
 
Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apac...
Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apac...Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apac...
Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apac...Databricks
 
Neo4j Graph Database และการประยุกตร์ใช้
Neo4j Graph Database และการประยุกตร์ใช้Neo4j Graph Database และการประยุกตร์ใช้
Neo4j Graph Database และการประยุกตร์ใช้Chakrit Phain
 
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 TaleNeo4j
 

Similar to Hands on Training – Graph Database with Neo4j (20)

Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large Graphs
 
Introduction to Neo4j and .Net
Introduction to Neo4j and .NetIntroduction to Neo4j and .Net
Introduction to Neo4j and .Net
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query Language
 
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-convertedNeo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
 
Windy City DB - Recommendation Engine with Neo4j
Windy City DB - Recommendation Engine with Neo4jWindy City DB - Recommendation Engine with Neo4j
Windy City DB - Recommendation Engine with Neo4j
 
Neo4j Introduction (for Techies)
Neo4j Introduction (for Techies)Neo4j Introduction (for Techies)
Neo4j Introduction (for Techies)
 
(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
 
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
 
The 2nd graph database in sv meetup
The 2nd graph database in sv meetupThe 2nd graph database in sv meetup
The 2nd graph database in sv meetup
 
Using Neo4j from Java
Using Neo4j from JavaUsing Neo4j from Java
Using Neo4j from Java
 
Cypher and apache spark multiple graphs and more in open cypher
Cypher and apache spark  multiple graphs and more in  open cypherCypher and apache spark  multiple graphs and more in  open cypher
Cypher and apache spark multiple graphs and more in open cypher
 
3rd Athens Big Data Meetup - 2nd Talk - Neo4j: The World's Leading Graph DB
3rd Athens Big Data Meetup - 2nd Talk - Neo4j: The World's Leading Graph DB3rd Athens Big Data Meetup - 2nd Talk - Neo4j: The World's Leading Graph DB
3rd Athens Big Data Meetup - 2nd Talk - Neo4j: The World's Leading Graph DB
 
Introduction to Graphs with Neo4j
Introduction to Graphs with Neo4jIntroduction to Graphs with Neo4j
Introduction to Graphs with Neo4j
 
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPLeveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
 
GraphConnect EU 2017 - Performance Improvements in Neo4j 3.2
GraphConnect EU 2017 - Performance Improvements in Neo4j 3.2GraphConnect EU 2017 - Performance Improvements in Neo4j 3.2
GraphConnect EU 2017 - Performance Improvements in Neo4j 3.2
 
Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apac...
Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apac...Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apac...
Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apac...
 
Neo4j Graph Database และการประยุกตร์ใช้
Neo4j Graph Database และการประยุกตร์ใช้Neo4j Graph Database และการประยุกตร์ใช้
Neo4j Graph Database และการประยุกตร์ใช้
 
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
 
Xephon K A Time series database with multiple backends
Xephon K A Time series database with multiple backendsXephon K A Time series database with multiple backends
Xephon K A Time series database with multiple backends
 
Neo4j
Neo4jNeo4j
Neo4j
 

More from Serendio Inc.

Next Generation Analytics Architecture for Business Advantage
Next Generation Analytics Architecture for Business AdvantageNext Generation Analytics Architecture for Business Advantage
Next Generation Analytics Architecture for Business AdvantageSerendio Inc.
 
A Scalable Data Transformation Framework using the Hadoop Ecosystem
A Scalable Data Transformation Framework using the Hadoop EcosystemA Scalable Data Transformation Framework using the Hadoop Ecosystem
A Scalable Data Transformation Framework using the Hadoop EcosystemSerendio Inc.
 
Amazon kindle fire social report - Sep 29
Amazon kindle fire social report - Sep 29Amazon kindle fire social report - Sep 29
Amazon kindle fire social report - Sep 29Serendio Inc.
 
Serendio academy awards-feb27-2011- 730pm edt
Serendio academy awards-feb27-2011- 730pm edtSerendio academy awards-feb27-2011- 730pm edt
Serendio academy awards-feb27-2011- 730pm edtSerendio Inc.
 
Serendio academy awards-feb27-2011- 11am edt
Serendio academy awards-feb27-2011- 11am edtSerendio academy awards-feb27-2011- 11am edt
Serendio academy awards-feb27-2011- 11am edtSerendio Inc.
 
Serendio academy awards predictions derived from social media as of -10 am ed...
Serendio academy awards predictions derived from social media as of -10 am ed...Serendio academy awards predictions derived from social media as of -10 am ed...
Serendio academy awards predictions derived from social media as of -10 am ed...Serendio Inc.
 
Social Nuggets Academy awards Predictions derived from social media as of feb...
Social Nuggets Academy awards Predictions derived from social media as of feb...Social Nuggets Academy awards Predictions derived from social media as of feb...
Social Nuggets Academy awards Predictions derived from social media as of feb...Serendio Inc.
 
Serendio academy awards-feb25-2011-
Serendio academy awards-feb25-2011-Serendio academy awards-feb25-2011-
Serendio academy awards-feb25-2011-Serendio Inc.
 
Ontology in Social Media Analysis
Ontology in Social Media AnalysisOntology in Social Media Analysis
Ontology in Social Media AnalysisSerendio Inc.
 
Digital research renaissance - Social Media Analysis
Digital research renaissance - Social Media AnalysisDigital research renaissance - Social Media Analysis
Digital research renaissance - Social Media AnalysisSerendio Inc.
 

More from Serendio Inc. (10)

Next Generation Analytics Architecture for Business Advantage
Next Generation Analytics Architecture for Business AdvantageNext Generation Analytics Architecture for Business Advantage
Next Generation Analytics Architecture for Business Advantage
 
A Scalable Data Transformation Framework using the Hadoop Ecosystem
A Scalable Data Transformation Framework using the Hadoop EcosystemA Scalable Data Transformation Framework using the Hadoop Ecosystem
A Scalable Data Transformation Framework using the Hadoop Ecosystem
 
Amazon kindle fire social report - Sep 29
Amazon kindle fire social report - Sep 29Amazon kindle fire social report - Sep 29
Amazon kindle fire social report - Sep 29
 
Serendio academy awards-feb27-2011- 730pm edt
Serendio academy awards-feb27-2011- 730pm edtSerendio academy awards-feb27-2011- 730pm edt
Serendio academy awards-feb27-2011- 730pm edt
 
Serendio academy awards-feb27-2011- 11am edt
Serendio academy awards-feb27-2011- 11am edtSerendio academy awards-feb27-2011- 11am edt
Serendio academy awards-feb27-2011- 11am edt
 
Serendio academy awards predictions derived from social media as of -10 am ed...
Serendio academy awards predictions derived from social media as of -10 am ed...Serendio academy awards predictions derived from social media as of -10 am ed...
Serendio academy awards predictions derived from social media as of -10 am ed...
 
Social Nuggets Academy awards Predictions derived from social media as of feb...
Social Nuggets Academy awards Predictions derived from social media as of feb...Social Nuggets Academy awards Predictions derived from social media as of feb...
Social Nuggets Academy awards Predictions derived from social media as of feb...
 
Serendio academy awards-feb25-2011-
Serendio academy awards-feb25-2011-Serendio academy awards-feb25-2011-
Serendio academy awards-feb25-2011-
 
Ontology in Social Media Analysis
Ontology in Social Media AnalysisOntology in Social Media Analysis
Ontology in Social Media Analysis
 
Digital research renaissance - Social Media Analysis
Digital research renaissance - Social Media AnalysisDigital research renaissance - Social Media Analysis
Digital research renaissance - Social Media Analysis
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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.pdfUK Journal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
[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.pdfhans926745
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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 MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
[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
 
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
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Hands on Training – Graph Database with Neo4j

  • 1. Hands on Training – Graph Database with Neo4j www.serendio.com
  • 2. Content • Introduction • The Graph Database: Neo4j • Neo4j - Cypher Query Language – CRUD operations • Use cases – Mumbai Local Train – Movie Recommendation – Email Analytics • Neo4j Tools: Import, Visualization • Conclusion
  • 4. 4 What is Graph? V1 V4 V6 V7 V2 V5 V3 The set of objects connected by links.
  • 5. The Graph based Technologies in BigData/Nosql domain Storage & Traversal/Query • Neo4j • TitanDB • OrientDB Processing/Computation Engines • Apache Giraph • GraphLab • Apache Spark Graph ML/Graphx
  • 6. Graph Databases • A database which follows graph structure • Each node knows its adjacent nodes • As the number of nodes increases, the cost of local step remains the same • Index for lookups • Optimized for traversing connected data
  • 7. Neo4j • Graph database from Neo Technology • A schema-free labeled Property Graph Database + Lucene Index • Perfect for complex, highly connected data • Reliable with real ACID Transactions • Scalable: Billions of Nodes and Relationships, Scale out with highly available Neo4j Cluster • Server with REST API or Embeddable • Declarative Query Language (Cypher)
  • 8. Neo4j: Strengths & Weakness Strengths • Powerful data model • Whiteboard friendly • Fast for connected data • Easy to query Weakness • Sharding • Requires Conceptual Shift (Graph like thinking)
  • 9. Four Building Blocks • Nodes • Relationships • Properties • Labels (:USER) [:RELATIVE ] (:PET) Name: Mike Animal: Dog Name: Apple Age: 25 Relation: Owner
  • 10. 10Serendio Proprietary and Confidential SQL to Graph DB: Data Model Transformation SQL Graph DB Table Type of Node Rows of Table Nodes Columns of Table Node-Properties Foreign-key, Joins Relationships
  • 11. SQL to Graph DB: Data Model Transformation Name Movies Language Rajnikant Tamil Maheshbabu Telugu Vijay Tamil Prabhas Telugu Name Lead Actor Bahubali Prabhas Puli Vijay Shrimanthudu Maheshbabu Robot Rajnikant Table: Actor Table: Movie ACTOR MOVIE ACTOR MOVIE Name Prabhas Movie Language Telugu Name Rajnikant Movie Language TamilName Bahubali Name Robot LEAD_ACTOR LEAD_ACTOR
  • 12. Interact with Neo4j • Web Interface – http://IP:7474/browser/ – http://IP:7474/webadmin/ • Neo4j Console • REST API • Java Native Libraries
  • 13. How to query Graph Database? • Graph Query Language – Cypher – Gremlin
  • 15. Cypher Query Language • Declarative • SQL-inspired • Pattern based Apple Orange LIKES (Apple:FRUIT) - [connect:RELATIVE] -> (Orange:FRUIT)
  • 16. Cypher: Getting Started Structure: • Similar to SQL • Most common clauses: – MATCH: the graph pattern for matching – WHERE: add constrains or filter – RETURN: what to return
  • 17. Cypher: Frequently Used Queries • get whole database: MATCH n RETURN n • delete whole database: MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r
  • 18. CRUD Operations Copy the code from link and paste in Noe4j Web Browser MATCH: • MATCH (n) RETURN n • MATCH (movie:Movie) RETURN movie • MATCH (movie:Movie { title: 'Bahubali' }) RETURN movie • MATCH (director { name:'Rajamouli' })--(movie) RETURN movie.title • MATCH (raj:Person { name:'Rajamouli'})--(movie:Movie) RETURN movie • MATCH (raj:Person { name:'Rajamouli'})-->(movie:Movie) RETURN movie • MATCH (raj:Person { name:'Rajamouli'})<--(movie:Movie) RETURN movie • MATCH (raj:Person { name:'Rajamouli'})-[:DIRECTED]->(movie:Movie) RETURN movie
  • 19. CRUD Operations WHERE: • MATCH (n) WHERE n:Movie RETURN n • MATCH (n) WHERE n.name <> 'Prabhas' RETURN n
  • 20. CRUD Operations Let clean the database: MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r
  • 21. CRUD Operations CREATE: Node: • CREATE (n) • CREATE (n),(m) • CREATE (n:Person) • CREATE (n:Person:Swedish) • CREATE (n:Person { name : 'Andres', title : 'Developer' }) • CREATE (a:Person { name : 'Roman' }) RETURN a
  • 22. CRUD Operations CREATE: Relationships: • MATCH (a:Person),(b:Person) WHERE a.name = 'Roman' AND b.name = 'Andres' CREATE (a)-[r:RELTYPE]->(b) RETURN r • MATCH (a:Person),(b:Person) WHERE a.name = 'Roman' AND b.name = 'Andres' CREATE (a)-[r:RELTYPE { name : a.name + '<->' + b.name }]->(b) RETURN r
  • 23. CRUD Operations CREATE: Relationships: • CREATE p =(andres { name:'Andres'}) - [:WORKS_AT] -> (neo) <- [:WORKS_AT] - (michael { name:'Michael' }) RETURN p
  • 24. CRUD Operations UPDATE: Properties: • MATCH (n:Person { name : 'Andres' }) SET n :Person:Coder • MATCH (n:Person { name : 'Andres', title : 'Developer' }) SET n.title = 'Mang'
  • 25. CRUD Operations DELETE: • MATCH (n:Person) WHERE n.name = 'Andres' DELETE n • MATCH (n { name: 'Andres' })-[r]-() DELETE n, r • MATCH (n:Person) DELETE n • MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r
  • 26. Functions Predicates: • ALL(identifier in collection WHERE predicate) • ANY(identifier in collection WHERE predicate) • NONE(identifier in collection WHERE predicate) • SINGLE(identifier in collection WHERE predicate) • EXISTS( pattern-or-property ) Scalar Function: • LENGTH( collection/pattern expression ) • TYPE( relationship ) • ID( property-container ) • COALESCE( expression [, expression]* ) • HEAD( expression ) • LAST( expression ) • TIMESTAMP()
  • 27. Functions Collection Function: • NODES( path ) • RELATIONSHIPS( path ) • LABELS( node ) • FILTER(identifier in collection WHERE predicate) • REDUCE( accumulator = initial, identifier in collection | expression ) Mathematical Function: • ABS( expression ) • COS( expression ) • LOG( expression ) • ROUND( expression ) • SQRT( expression )
  • 29. Use case 1: Mumbai Local Train* Problem • Four main railway lines- Western, Central, Harbour and Trans Harbour. • Each line serves various sections of the city. • To travel across sections, one must change lines at various interchange stations. • Find the shortest path from source station to destination station. •*https://gist.github.com/luanne/8159102
  • 30. Use case 1: Mumbai Local Train (conti..)
  • 31. Use case 1: Mumbai Local Train (conti..) Solution: • Create railway network graph. • Use shortest path algo for source and destination.
  • 32. Use case 1: Mumbai Local Train (conti..) Graph Database Model: Station Station Next
  • 33. Use case 1: Mumbai Local Train (conti..) Create Graph • Open the file from link below, copy-paste and run it on neo4j.
  • 34. Use case 1: Mumbai Local Train (conti..) • Query 1: The Graph match n return n • Query 2: Route from Churchgate to Vashi match (s1 {name:"Churchgate"}),(s2 {name:"Vashi"}), p=shortestPath((s1)-[:NEXT*]->(s2)) return p • Query 3: Route from Santa Cruz to Dockyard Road match (s1 {name:"Santa Cruz"}),(s2 {name:"Dockyard Road"}), p=shortestPath((s1)-[:NEXT*]-(s2)) return p
  • 35. Use Case 2: Movie Recommendation* Problem: • We are running IMDB type website. • We have dataset which contains movie rating done by users. • Our problem is to generate list of movies which will be recommended to individual users. * http://www.neo4j.org/graphgist?8173017
  • 36. Use Case 2: Movie Recommendation (Conti..) Solution: • We will find the people who has given similar rating to the movies watch by both of them. • After that we will recommend movies which one has not seen and other has rated high. • Cosine Similarity function to calculate similarity between users. • k-Nearest Neighbors for finding similar users
  • 37. Use Case 2: Movie Recommendation (Conti..) • Cosine Similarity: • K-NN:
  • 38. Use Case 2: Movie Recommendation (Conti..) • Let’s create real dataset with you folks. • Visit: http://graphlab.byethost7.com/movie_recco/index.php
  • 39. Use Case 2: Movie Recommendation (Conti..) Dataset: • Nodes: – movies.csv – users.csv • Edges: – rating.csv EXTRA FILES WE WILL CREATE • movies_header.csv • users_header.csv • rating_header.csv
  • 40. Use Case 2: Movie Recommendation (Conti..) • Import to Neo4j $ ./neo4j-import --into /tmp/graph.db --nodes:USER person_header.csv,person.csv --nodes:MOVIES movies_header.csv,movies.csv --relationships:RATING rating_header.csv, rating.csv
  • 41. Use Case 2: Movie Recommendation (Conti..) • Query:Add Cosine Similarity MATCH (p1:USER)-[x:RATING]->(m:MOVIES)<-[y:RATING]-(p2:USER) WITH SUM(x.rating * y.rating) AS xyDotProduct, SQRT(REDUCE(xDot = 0.0, a IN COLLECT(x.rating) | xDot + a^2)) AS xLength, SQRT(REDUCE(yDot = 0.0, b IN COLLECT(y.rating) | yDot + b^2)) AS yLength, p1, p2 MERGE (p1)-[s:SIMILARITY]-(p2) SET s.similarity = xyDotProduct / (xLength * yLength)
  • 42. Use Case 2: Movie Recommendation (Conti..) • Query: See who is your neighbor in similarity MATCH (p1:USER {name:'Nishant'})-[s:SIMILARITY](p2:USER) WITH p2, s.similarity AS sim ORDER BY sim DESC LIMIT 5 RETURN p2.name AS Neighbor, sim AS Similarity
  • 43. Use Case 2: Movie Recommendation (Conti..) • Query: Recommendation Finally :D MATCH (b:USER)-[r:RATING]->(m:MOVIES), (b)-[s:SIMILARITY]-(a:USER {name:'Nishant'}) WHERE NOT((a)-[:RATING]->(m)) WITH m, s.similarity AS similarity, r.rating AS rating ORDER BY m.name, similarity DESC WITH m.name AS movie, COLLECT(rating)[0..3] AS ratings WITH movie, REDUCE(s = 0, i IN ratings | s + i)*1.0 / LENGTH(ratings) AS reco ORDER BY reco DESC RETURN movie AS Movie, reco AS Recommendation
  • 44. Use Case 3: Email Analytics* Overview: • Framework for analyzing large email datasets • Capability of performing Sentiment Analysis and Topic Extraction on email dataset • Accessed through Command Line Interface • Incubated at Serendio and open source project now. *https://github.com/serendio-labs/email-analytics
  • 45. Use Case 3: Email Analytics (Conti..) System Architecture:
  • 46. Use Case 3: Email Analytics (Conti..) • DEMO
  • 47. Use Case 3: Email Analytics (Conti..) Possible Use cases: • Keep track of your employee’s activities. • Fraud-detection • Data-mining for Business Analytics
  • 48. Use Case 3: Email Analytics (Conti..) • Come forward and contribute: • The project need attention in the area of – Web-UI – REST API – Unit Test – Custom Email Format Support – Other Features
  • 49. Neo4j with Other Technologies Neo4j- Integration
  • 50. Neo4j with Other technologies • Data Import – LOAD CSV – Neo4j-import • Graph Visualization – Alistair Jones (Arrow) – Alchemy.js (GraphJSON) – Neo4j Browser – Linkurious – Keylines – D3.js
  • 51. Neo4j Integration • Apache Spark • Elasticsearch • Docker
  • 52. Conclusion  Graph Database Technologies like Neo4j has lot of potential to solve many complex problems.  The neo4j is mature technology which can be used in designing solutions.
  • 53. nishant@serendio.com Serendio provides Big Data Science Solutions & Services for Data-Driven Enterprises. Learn more at: serendio.com/index.php/case-studies Thank You!