SlideShare a Scribd company logo
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

When to Use MongoDB...and When You Should Not...
When to Use MongoDB...and When You Should Not...When to Use MongoDB...and When You Should Not...
When to Use MongoDB...and When You Should Not...
MongoDB
 
Graph based data models
Graph based data modelsGraph based data models
Graph based data models
Moumie Soulemane
 
NoSQL
NoSQLNoSQL
NoSQL
Radu Potop
 
Key-Value NoSQL Database
Key-Value NoSQL DatabaseKey-Value NoSQL Database
Key-Value NoSQL Database
Heman Hosainpana
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to Graph Databases
InfiniteGraph
 
Neo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j GraphDay Seattle- Sept19- neo4j basic trainingNeo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph Databases
Neo4j
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
Rachel Lovinger
 
Apache Hadoop on Virtual Machines
Apache Hadoop on Virtual MachinesApache Hadoop on Virtual Machines
Apache Hadoop on Virtual Machines
DataWorks Summit
 
Curso ica ato m upf passo fundo setembro 2014
Curso ica ato m upf passo fundo setembro 2014Curso ica ato m upf passo fundo setembro 2014
Curso ica ato m upf passo fundo setembro 2014
Daniel Flores
 
Intro to Graphs and Neo4j
Intro to Graphs and Neo4jIntro to Graphs and Neo4j
Intro to Graphs and Neo4j
Neo4j
 
Hybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS ApplicationsHybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS ApplicationsSteven Francia
 
How Graph Databases efficiently store, manage and query connected data at s...
How Graph Databases efficiently  store, manage and query  connected data at s...How Graph Databases efficiently  store, manage and query  connected data at s...
How Graph Databases efficiently store, manage and query connected data at s...
jexp
 
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
Cambridge Semantics
 
MongoDB
MongoDBMongoDB
Probabilistic Retrieval
Probabilistic RetrievalProbabilistic Retrieval
Probabilistic Retrieval
otisg
 
NoSQL Data Architecture Patterns
NoSQL Data ArchitecturePatternsNoSQL Data ArchitecturePatterns
NoSQL Data Architecture Patterns
Maynooth University
 
Introdução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.comIntrodução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.com
Renan Moreira de Oliveira
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
Narni Rajesh
 
Integration of HIve and HBase
Integration of HIve and HBaseIntegration of HIve and HBase
Integration of HIve and HBaseHortonworks
 

What's hot (20)

When to Use MongoDB...and When You Should Not...
When to Use MongoDB...and When You Should Not...When to Use MongoDB...and When You Should Not...
When to Use MongoDB...and When You Should Not...
 
Graph based data models
Graph based data modelsGraph based data models
Graph based data models
 
NoSQL
NoSQLNoSQL
NoSQL
 
Key-Value NoSQL Database
Key-Value NoSQL DatabaseKey-Value NoSQL Database
Key-Value NoSQL Database
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to Graph Databases
 
Neo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j GraphDay Seattle- Sept19- neo4j basic trainingNeo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j GraphDay Seattle- Sept19- neo4j basic training
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph Databases
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
 
Apache Hadoop on Virtual Machines
Apache Hadoop on Virtual MachinesApache Hadoop on Virtual Machines
Apache Hadoop on Virtual Machines
 
Curso ica ato m upf passo fundo setembro 2014
Curso ica ato m upf passo fundo setembro 2014Curso ica ato m upf passo fundo setembro 2014
Curso ica ato m upf passo fundo setembro 2014
 
Intro to Graphs and Neo4j
Intro to Graphs and Neo4jIntro to Graphs and Neo4j
Intro to Graphs and Neo4j
 
Hybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS ApplicationsHybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS Applications
 
How Graph Databases efficiently store, manage and query connected data at s...
How Graph Databases efficiently  store, manage and query  connected data at s...How Graph Databases efficiently  store, manage and query  connected data at s...
How Graph Databases efficiently store, manage and query connected data at s...
 
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
 
MongoDB
MongoDBMongoDB
MongoDB
 
Probabilistic Retrieval
Probabilistic RetrievalProbabilistic Retrieval
Probabilistic Retrieval
 
NoSQL Data Architecture Patterns
NoSQL Data ArchitecturePatternsNoSQL Data ArchitecturePatterns
NoSQL Data Architecture Patterns
 
Introdução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.comIntrodução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.com
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
Integration of HIve and HBase
Integration of HIve and HBaseIntegration of HIve and HBase
Integration of HIve and HBase
 

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 Neo4j
jexp
 
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 neo4j
Mark Needham
 
Thinking Outside the Table
Thinking Outside the TableThinking Outside the Table
Thinking Outside the Table
Ontotext
 
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
Ontotext
 
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
Caserta
 
Neo4j - graph database for recommendations
Neo4j - graph database for recommendationsNeo4j - graph database for recommendations
Neo4j - graph database for recommendations
proksik
 
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
William 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 Neo4j
Debanjan Mahata
 
Graph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBayGraph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBay
DataStax 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 Fraud
Neo4j
 
JSON-LD and MongoDB
JSON-LD and MongoDBJSON-LD and MongoDB
JSON-LD and MongoDB
Gregg Kellogg
 
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
Pieter 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 Hydra
Markus Lanthaler
 
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 Knowledge
Neo4j
 
Working With a Real-World Dataset in Neo4j: Import and Modeling
Working With a Real-World Dataset in Neo4j: Import and ModelingWorking With a Real-World Dataset in Neo4j: Import and Modeling
Working With a Real-World Dataset in Neo4j: Import and Modeling
Neo4j
 

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
 
Neo4j - graph database for recommendations
Neo4j - graph database for recommendationsNeo4j - graph database for recommendations
Neo4j - graph database for recommendations
 
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
 
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
 
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
 
Working With a Real-World Dataset in Neo4j: Import and Modeling
Working With a Real-World Dataset in Neo4j: Import and ModelingWorking With a Real-World Dataset in Neo4j: Import and Modeling
Working With a Real-World Dataset in Neo4j: Import and Modeling
 

Similar to Hands on Training – Graph Database with Neo4j

Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large Graphs
Nishant Gandhi
 
Introduction to Neo4j and .Net
Introduction to Neo4j and .NetIntroduction to Neo4j and .Net
Introduction to Neo4j and .Net
Neo4j
 
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
 
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-convertedNeo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
Neo4j graphdatabaseforrecommendations-130531021030-phpapp02-converted
snehapandey01
 
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 2014
Amazon 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 meetup
Joshua Bae
 
Using Neo4j from Java
Using Neo4j from JavaUsing Neo4j from Java
Using Neo4j from Java
Neo4j
 
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
Neo4j
 
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
Athens Big Data
 
Introduction to Graphs with Neo4j
Introduction to Graphs with Neo4jIntroduction to Graphs with Neo4j
Introduction to Graphs with Neo4j
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 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.2
Craig 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 Tale
Neo4j
 
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
University of California, Santa Cruz
 

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 Advantage
Serendio 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 Ecosystem
Serendio 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 29
Serendio 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 edt
Serendio 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 edt
Serendio 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 Analysis
Serendio Inc.
 
Digital research renaissance - Social Media Analysis
Digital research renaissance - Social Media AnalysisDigital research renaissance - Social Media Analysis
Digital research renaissance - Social Media Analysis
Serendio 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

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
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
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 

Recently uploaded (20)

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
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
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 

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!