SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
How Graph Databases
used in Police Dept.
01/12/2018 - v1.1
Samet Kılıçtaş / Solutions Architect @ Huawei R&D
IEEE ITU COMWEEK’18 @Istanbul
CONTENT
Why it is important?
Why relations are important?
Meet Graph Concept
01
02
What is Graph Databases?
How it works?

Graph Databases
03
Janusgraph DB
Gremlin and Data Modelling
Four Steps To Analyze
04
How graph databases are formed
to feed crime analyze?
Police Dept. Use Cases
Meet Graph Concept
Why it is important?
What is Graph Databases and How it works?
Why it is important?
Graph Databases
Its focus on relationships
We are gathering more data than ever before, now data
relations are more important as we all want to reveal
hidden patterns within data
Intuitive Query Language
Such language makes writing queries even more simpler for
data scientists and agility that saves a lot of time which is
valuable to your company.
Connected Query Performance
Performance remains constant as graph size increases.
Performance slowdown is linear or better as density & degree
increase
Query Resp Time = f(graph density, graph size, query degree)
Flexible
Graph databases are too flexible that can adapt to new
model changes without any interruption. With its adaptive
query methodologies fast results will be helping your
latency problems.
Why Relationships Matter?
RDMBS vs. Graph DB
Relational Databases can get
complex and too inflexible
when presenting relationships
The Problem?
Connects vertices
• All JOINs are executed every time you query (traverse) the
relationship
• Executing a JOIN means to search for a key in another table
• With Indices executing a JOIN means to lookup a key
• more entries => more lookups => slower JOINs
Gremlin vs. SQL
Open Source Graph Database
VS.
Imagine a situation where you need to JOIN
multiple big tables with many dimensions….!!!
Ex. Problem: Find me customers who
bought products that was bought
together with product 3 by other
customers who also bought product 5
at least 1 time.
Quick look what is a Graph?
Let’s reveal what is graph
SourceSource
Graph = Vertex + Edge
What is a Vertex?
Presents a thing
Things are Vertices or Nodes
Vertex have Properties
Vertex have label to express itself
Properties
{Keys:Values}
Label
v: Person
id: 1234
first_name: Jack
last_name: Foo
v: Person
id: 1111
first_name: Mike
last_name: Foo
v: Person
id: 1234
first_name: Jack
last_name: Foo
v: Person
id: 2222
first_name: Dane
last_name: Foo
What is an Edge?
Connects vertices
Vertices are connected with edges
or relationships
Edges have direction and a
type and can have properties
e: likes
since: 2012
e: child_of
since: 2000
e: child_of
since: 1996
v: Person
id: 1111
first_name: Mike
last_name: Foo
v: Person
id: 2222
first_name: Dane
last_name: Fooe: likes
since: 2012
Sometimes there are DIRECT relationships, NOT HARD to do with Relational DBs
Sometimes there are INDIRECT relationships, HARDER to do TRAVERSE with
Relational DBs, but with some effort it can be done
Person A
Car B
Tool A
Company A
Tool B
Person A
Can you find me number of people
who involved in two different crime
case last month and having two
children and bought 4K TV in last
month?
No Way! But you can do this with
Graph DB, if you have all data in
there with has paths between them!
Everything is a
Graph
(..) but still many other solutions exists out there...
Early Adopters of Graph Tech
Big companies in action at early stage
Evaluation of Web Search
Best technology applied
Pre-1999
WWW Indexing
1999-2012
Google Invents
Page Rank
2012-?
Google Knowledge Graph
Facebook Graph Search
Discrete Data
Connected Data
(Simple)
Connected Data
(Rich)+ +
Graph Databases
What is Graph Databases?

How it works?
The NOSQL Spectrum
Spectrum of databases with data complexity
Key-Value
Redis, RIAK, DynamoDB
Column-Family
Cassandra, HBase, BigTable
Document DB
Mongo DB, Couchbase, CouchDB
Relational DB
MySQL, MSSQL, PostgreSQL,
Oracle
Graph DB
JanusGraph, OrientDB, Neo4j,
AllegroDB
Data Complexity
Simple
Minimally
Connected Data
Complex
Focused on Data
Relationship
Graph Databases are HOT!
Graph DB usage increasing fast!
Graph Database Ecosystem is Complex
Graph DB usage increasing fast!
Graph Ecosystem is Complex FrameworksDatabases
RDF Triple Stores Property Graph
Gradoop
Graph Query Languages
Open Source Graph Database
SPARQL Cypher Gremlin
GraphQL Others
- W3C Standard for
RDFs
- Based on semantic
Web
- Declarative
- Based on semantic
Web
- Easy to use
- Popular
- Imperative +
Declarative
- Powerful
- Steep learning curve
- Most are extensions
of SQL
- Usually specific to
one system
- Useful for REST
endpoints
- Query language for
APIs
Search and Selection
Problem: Get me everyone
who works at X?
Answer: Use RDMBS or
Search server
Related Data
Problem: How do John and
Paula knows each other?
Answer: Use Graph DB
Aggregation
Problem: What are my
average sales for each day
over the past month?
Answer: Use an RDMBS
Pattern Matching
Problem: Who is in my
system has a similar profile to
me?
Answer: Use a search server
or a graph
Do I need to use GraphDB to solve my problem?
There are other possibilities too
Influence
Problem: Who is the most
influential person I am
connected with on “LinkedIn”
Answer: Use a graph DB
Graph Database Use Cases
High Level Use Cases
Social Networking Fraud Detection
Recommendation Engine Knowledge Graphs
and more...
Master Data Management Access Management
Use Cases in Industry
Some of use cases
Relationship Status Analysis Content Management & Access Control
Use Cases in Industry
Some of use cases
Insurance Risk Analysis Network Cell Analysis
Use Cases in Industry
Some of use cases
Geo Routing (Public Transport) Bio Informatics
Four Steps to Analyze
Janusgraph DB

Gremlin and Data Modelling

Any enterprise who wants to bring their datasets and data
sources together to find hidden patterns to reveal hidden
information should define which datasets can be used (e.g. Voice,
SMS, GPS Information, Texts)
1- Choose Datastore and Data Source
Creating a graph object out of massive data is problematic and
depends on high system resources. Data model generated
provides blueprint that creates graph properly consisting of Vertex
and Edges
3- Generate Graph
Data model is an important step where massive data sources are
being analyzed and modelled in order to provide identical
information for graph generation
2- Data Modelling
As processed data turned into a reasonable graph object, now it
is time to find hidden patterns within graph or/else analyze action
to be done by data scientists via visualization options provided by
graph DB or 3rd party tools.
4- Information Analyze / Visualize
Four Steps to Analyze
How an enterprise starts to analyze their data from zero?
Data Modelling
Graph Data Model = Whiteboard-Friendly
Problem: Create data model for
Chicago Crime Dataset
Description: Dataset of bad people
doing bad things in the Windy City.
Columns:
unique_key
case_number
date .
block
iucr
primary_type
description
location_description
arrest
domestic
beat
district
ward
community_area
fbi_code
x_coordinate
y_coordinate
year
updated_on
latitude
longitude
location
Person
Crime
Case
Block Crime
Type
District
updated_on
date
description
fbi_code
primary_type
domestic
name
description
name
description
age
name
identity_no
married
involved_in
type_of
occurred
within
arrested
How to do analyze on Graph?
Compute and Analyze
Traverse Example
How to traverse step by step
Can you tell me the name of
the people that marko knows?
gremlin> marko = g.V().has('name','marko').next() //1

==>v[1]

gremlin> g.V(marko).out('knows') //2

==>v[2]

==>v[4]

gremlin> g.V(marko).out('knows').values('name') //3

==>vadas

==>josh
Visualization
Various of libraries exists
A lot of libraries and
tools exists
Graph Database WARS!
Graph DB usage increasing fast!
● Neo4J is still dominant
● JanusGraph is getting being recognised
● Amazon Neptune is still in war
Janusgraph is very popular!
Graph DB usage increasing fast!
What is JanusGraph DB?
Open Source Graph Database
Apache Tinkerpop Enabled
A popular graph engine
Property Graph
Consists of Vertex, Edge and Properties
Pluggable Storage
Pluggable Search Backend
Scalable
Designed for scale up scale out realtime
and analytical graph computing
applications
Crime Scenarios
Crime use cases for police department
Patrol Distribution
Patrol distribution can be arrenged based
on ACI and victim clustering
# of arrested persons
It is easy to draw pattern of arrested
person by block and time, with such
clustering new patterns can be identified
Crime Patterns
Help to understand how crime trend
changes what are crime patterns for
specific location and how zones
Crime Network Analysis
Connection of any suspect or victim with
known, unknown organizations and
network cartels
Police Department Scenarios
Sample use cases
Patrol Distribution
Sample use cases
1- Reveal where the most deadly
crimes happens
2- Display them on map
3- Run ML to predict
Crime Patterns
Sample use cases
1- Identify crime types
2- Crimes seen together
3- “BURGLARY” ,”ROBBERY”,
“MOTOR VEHICLE THEFT”,
“NARCOTICS” crimes seen
together.
Crime Network Analysis
Sample use cases
1- Connected clusters
2- Centrality Algorithms
Betweenness Centrality
Eigenvector Centrality
3- Find man in the middle
References
Further readings and support points
● Apache Tinkerpop Provides a feature rich graph computing framework
○ http://tinkerpop.apache.org/
● A nice book written by Kewin Lavrance with examples
○ http://kelvinlawrence.net/book/Gremlin-Graph-Guide.html
● Ted Wilmes on the state of JanusGraph 2018
● HBaseCon2017 Community-Driven Graphs with JanusGraph
● Graph Databases Will Change Your Freakin' Life (Best Intro Into Graph Databases)
● MaxDeMarzi - Addressing The BigData Challenge With A Graph
THANK YOU
> Q & A

Contenu connexe

Tendances

Dimensionality Reduction
Dimensionality ReductionDimensionality Reduction
Dimensionality ReductionSaad Elbeleidy
 
Los 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historiaLos 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historialyonc357
 
Spectral Clustering
Spectral ClusteringSpectral Clustering
Spectral Clusteringssusered887b
 
Preventing Tax Evasion & Combating Fraud through Predictive Analytics
Preventing Tax Evasion & Combating Fraud through Predictive AnalyticsPreventing Tax Evasion & Combating Fraud through Predictive Analytics
Preventing Tax Evasion & Combating Fraud through Predictive AnalyticsCapgemini
 
Iris - Most loved dataset
Iris - Most loved datasetIris - Most loved dataset
Iris - Most loved datasetDrAsmitaTitre
 
Abstract algebra & its applications (1)
Abstract algebra & its applications (1)Abstract algebra & its applications (1)
Abstract algebra & its applications (1)drselvarani
 
Feature selection
Feature selectionFeature selection
Feature selectiondkpawar
 
Data preprocessing
Data preprocessingData preprocessing
Data preprocessingTony Nguyen
 
Exploratory data analysis in R - Data Science Club
Exploratory data analysis in R - Data Science ClubExploratory data analysis in R - Data Science Club
Exploratory data analysis in R - Data Science ClubMartin Bago
 
Applications of graphs
Applications of graphsApplications of graphs
Applications of graphsTech_MX
 
Linear regression
Linear regressionLinear regression
Linear regressionMartinHogg9
 
applications of set theory in economical problem
applications of set theory in economical problem applications of set theory in economical problem
applications of set theory in economical problem Farjana Mim
 
Lect 2 getting to know your data
Lect 2 getting to know your dataLect 2 getting to know your data
Lect 2 getting to know your datahktripathy
 

Tendances (20)

Dimensionality Reduction
Dimensionality ReductionDimensionality Reduction
Dimensionality Reduction
 
Los 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historiaLos 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historia
 
Spectral Clustering
Spectral ClusteringSpectral Clustering
Spectral Clustering
 
XGBoost & LightGBM
XGBoost & LightGBMXGBoost & LightGBM
XGBoost & LightGBM
 
Preventing Tax Evasion & Combating Fraud through Predictive Analytics
Preventing Tax Evasion & Combating Fraud through Predictive AnalyticsPreventing Tax Evasion & Combating Fraud through Predictive Analytics
Preventing Tax Evasion & Combating Fraud through Predictive Analytics
 
Iris - Most loved dataset
Iris - Most loved datasetIris - Most loved dataset
Iris - Most loved dataset
 
Graph clustering
Graph clusteringGraph clustering
Graph clustering
 
Abstract algebra & its applications (1)
Abstract algebra & its applications (1)Abstract algebra & its applications (1)
Abstract algebra & its applications (1)
 
Feature selection
Feature selectionFeature selection
Feature selection
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Data preprocessing
Data preprocessingData preprocessing
Data preprocessing
 
Exploratory data analysis in R - Data Science Club
Exploratory data analysis in R - Data Science ClubExploratory data analysis in R - Data Science Club
Exploratory data analysis in R - Data Science Club
 
2.mathematics for machine learning
2.mathematics for machine learning2.mathematics for machine learning
2.mathematics for machine learning
 
Applications of graphs
Applications of graphsApplications of graphs
Applications of graphs
 
matrices basic operation.ppt
matrices basic operation.pptmatrices basic operation.ppt
matrices basic operation.ppt
 
Lect12 graph mining
Lect12 graph miningLect12 graph mining
Lect12 graph mining
 
Linear regression
Linear regressionLinear regression
Linear regression
 
applications of set theory in economical problem
applications of set theory in economical problem applications of set theory in economical problem
applications of set theory in economical problem
 
Cluster Validation
Cluster ValidationCluster Validation
Cluster Validation
 
Lect 2 getting to know your data
Lect 2 getting to know your dataLect 2 getting to know your data
Lect 2 getting to know your data
 

Similaire à How Graph Databases used in Police Department?

Social Network Analysis Introduction including Data Structure Graph overview.
Social Network Analysis Introduction including Data Structure Graph overview. Social Network Analysis Introduction including Data Structure Graph overview.
Social Network Analysis Introduction including Data Structure Graph overview. Doug Needham
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use CasesMax De Marzi
 
Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015StampedeCon
 
Big data and APIs for PHP developers - SXSW 2011
Big data and APIs for PHP developers - SXSW 2011Big data and APIs for PHP developers - SXSW 2011
Big data and APIs for PHP developers - SXSW 2011Eli White
 
Data Structure Graph DMZ #DMZone
Data Structure Graph DMZ #DMZoneData Structure Graph DMZ #DMZone
Data Structure Graph DMZ #DMZoneDoug Needham
 
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your DataCloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your DataCloudera, Inc.
 
Fishing Graphs in a Hadoop Data Lake
Fishing Graphs in a Hadoop Data LakeFishing Graphs in a Hadoop Data Lake
Fishing Graphs in a Hadoop Data LakeArangoDB Database
 
Multiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier DominguezMultiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier DominguezBig Data Spain
 
Knowledge Graphs - Journey to the Connected Enterprise - Data Strategy and An...
Knowledge Graphs - Journey to the Connected Enterprise - Data Strategy and An...Knowledge Graphs - Journey to the Connected Enterprise - Data Strategy and An...
Knowledge Graphs - Journey to the Connected Enterprise - Data Strategy and An...Benjamin Nussbaum
 
Calin Constantinov - Neo4j - Keyboards and Mice - Craiova 2016
Calin Constantinov - Neo4j - Keyboards and Mice - Craiova 2016Calin Constantinov - Neo4j - Keyboards and Mice - Craiova 2016
Calin Constantinov - Neo4j - Keyboards and Mice - Craiova 2016Calin Constantinov
 
Document Based Data Modeling Technique
Document Based Data Modeling TechniqueDocument Based Data Modeling Technique
Document Based Data Modeling TechniqueCarmen Sanborn
 
Introduction to question answering for linked data & big data
Introduction to question answering for linked data & big dataIntroduction to question answering for linked data & big data
Introduction to question answering for linked data & big dataAndre Freitas
 
Spivack Blogtalk 2008
Spivack Blogtalk 2008Spivack Blogtalk 2008
Spivack Blogtalk 2008Blogtalk 2008
 
Neo4j GraphTalk Helsinki - Introduction and Graph Use Cases
Neo4j GraphTalk Helsinki - Introduction and Graph Use CasesNeo4j GraphTalk Helsinki - Introduction and Graph Use Cases
Neo4j GraphTalk Helsinki - Introduction and Graph Use CasesNeo4j
 
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...Big Data Spain
 
Apache Spark GraphX highlights.
Apache Spark GraphX highlights. Apache Spark GraphX highlights.
Apache Spark GraphX highlights. Doug Needham
 
NoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and WhereNoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and WhereEugene Hanikblum
 

Similaire à How Graph Databases used in Police Department? (20)

Social Network Analysis Introduction including Data Structure Graph overview.
Social Network Analysis Introduction including Data Structure Graph overview. Social Network Analysis Introduction including Data Structure Graph overview.
Social Network Analysis Introduction including Data Structure Graph overview.
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use Cases
 
Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015
 
Once You Go Graph
Once You Go GraphOnce You Go Graph
Once You Go Graph
 
Big data and APIs for PHP developers - SXSW 2011
Big data and APIs for PHP developers - SXSW 2011Big data and APIs for PHP developers - SXSW 2011
Big data and APIs for PHP developers - SXSW 2011
 
Data Structure Graph DMZ #DMZone
Data Structure Graph DMZ #DMZoneData Structure Graph DMZ #DMZone
Data Structure Graph DMZ #DMZone
 
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your DataCloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
 
Fishing Graphs in a Hadoop Data Lake
Fishing Graphs in a Hadoop Data LakeFishing Graphs in a Hadoop Data Lake
Fishing Graphs in a Hadoop Data Lake
 
Multiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier DominguezMultiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier Dominguez
 
Knowledge Graphs - Journey to the Connected Enterprise - Data Strategy and An...
Knowledge Graphs - Journey to the Connected Enterprise - Data Strategy and An...Knowledge Graphs - Journey to the Connected Enterprise - Data Strategy and An...
Knowledge Graphs - Journey to the Connected Enterprise - Data Strategy and An...
 
Calin Constantinov - Neo4j - Keyboards and Mice - Craiova 2016
Calin Constantinov - Neo4j - Keyboards and Mice - Craiova 2016Calin Constantinov - Neo4j - Keyboards and Mice - Craiova 2016
Calin Constantinov - Neo4j - Keyboards and Mice - Craiova 2016
 
DataHub
DataHubDataHub
DataHub
 
Document Based Data Modeling Technique
Document Based Data Modeling TechniqueDocument Based Data Modeling Technique
Document Based Data Modeling Technique
 
Introduction to question answering for linked data & big data
Introduction to question answering for linked data & big dataIntroduction to question answering for linked data & big data
Introduction to question answering for linked data & big data
 
Spivack Blogtalk 2008
Spivack Blogtalk 2008Spivack Blogtalk 2008
Spivack Blogtalk 2008
 
Neo4j GraphTalk Helsinki - Introduction and Graph Use Cases
Neo4j GraphTalk Helsinki - Introduction and Graph Use CasesNeo4j GraphTalk Helsinki - Introduction and Graph Use Cases
Neo4j GraphTalk Helsinki - Introduction and Graph Use Cases
 
Fishing Graphs in a Hadoop Data Lake
Fishing Graphs in a Hadoop Data Lake Fishing Graphs in a Hadoop Data Lake
Fishing Graphs in a Hadoop Data Lake
 
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
 
Apache Spark GraphX highlights.
Apache Spark GraphX highlights. Apache Spark GraphX highlights.
Apache Spark GraphX highlights.
 
NoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and WhereNoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and Where
 

Dernier

TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESkarthi keyan
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxStephen Sitton
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsapna80328
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosVictor Morales
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfisabel213075
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfalene1
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.elesangwon
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodManicka Mamallan Andavar
 

Dernier (20)

TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptx
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveying
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitos
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdf
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument method
 

How Graph Databases used in Police Department?

  • 1. How Graph Databases used in Police Dept. 01/12/2018 - v1.1 Samet Kılıçtaş / Solutions Architect @ Huawei R&D IEEE ITU COMWEEK’18 @Istanbul
  • 2. CONTENT Why it is important? Why relations are important? Meet Graph Concept 01 02 What is Graph Databases? How it works? Graph Databases 03 Janusgraph DB Gremlin and Data Modelling Four Steps To Analyze 04 How graph databases are formed to feed crime analyze? Police Dept. Use Cases
  • 3. Meet Graph Concept Why it is important? What is Graph Databases and How it works?
  • 4. Why it is important? Graph Databases Its focus on relationships We are gathering more data than ever before, now data relations are more important as we all want to reveal hidden patterns within data Intuitive Query Language Such language makes writing queries even more simpler for data scientists and agility that saves a lot of time which is valuable to your company. Connected Query Performance Performance remains constant as graph size increases. Performance slowdown is linear or better as density & degree increase Query Resp Time = f(graph density, graph size, query degree) Flexible Graph databases are too flexible that can adapt to new model changes without any interruption. With its adaptive query methodologies fast results will be helping your latency problems.
  • 5. Why Relationships Matter? RDMBS vs. Graph DB Relational Databases can get complex and too inflexible when presenting relationships
  • 6. The Problem? Connects vertices • All JOINs are executed every time you query (traverse) the relationship • Executing a JOIN means to search for a key in another table • With Indices executing a JOIN means to lookup a key • more entries => more lookups => slower JOINs
  • 7. Gremlin vs. SQL Open Source Graph Database VS. Imagine a situation where you need to JOIN multiple big tables with many dimensions….!!! Ex. Problem: Find me customers who bought products that was bought together with product 3 by other customers who also bought product 5 at least 1 time.
  • 8. Quick look what is a Graph? Let’s reveal what is graph SourceSource Graph = Vertex + Edge
  • 9. What is a Vertex? Presents a thing Things are Vertices or Nodes Vertex have Properties Vertex have label to express itself Properties {Keys:Values} Label
  • 10. v: Person id: 1234 first_name: Jack last_name: Foo
  • 11. v: Person id: 1111 first_name: Mike last_name: Foo v: Person id: 1234 first_name: Jack last_name: Foo v: Person id: 2222 first_name: Dane last_name: Foo What is an Edge? Connects vertices Vertices are connected with edges or relationships Edges have direction and a type and can have properties e: likes since: 2012 e: child_of since: 2000 e: child_of since: 1996
  • 12. v: Person id: 1111 first_name: Mike last_name: Foo v: Person id: 2222 first_name: Dane last_name: Fooe: likes since: 2012 Sometimes there are DIRECT relationships, NOT HARD to do with Relational DBs
  • 13. Sometimes there are INDIRECT relationships, HARDER to do TRAVERSE with Relational DBs, but with some effort it can be done Person A Car B Tool A Company A Tool B Person A
  • 14. Can you find me number of people who involved in two different crime case last month and having two children and bought 4K TV in last month? No Way! But you can do this with Graph DB, if you have all data in there with has paths between them!
  • 15. Everything is a Graph (..) but still many other solutions exists out there...
  • 16. Early Adopters of Graph Tech Big companies in action at early stage
  • 17. Evaluation of Web Search Best technology applied Pre-1999 WWW Indexing 1999-2012 Google Invents Page Rank 2012-? Google Knowledge Graph Facebook Graph Search Discrete Data Connected Data (Simple) Connected Data (Rich)+ +
  • 18.
  • 19. Graph Databases What is Graph Databases?
 How it works?
  • 20. The NOSQL Spectrum Spectrum of databases with data complexity Key-Value Redis, RIAK, DynamoDB Column-Family Cassandra, HBase, BigTable Document DB Mongo DB, Couchbase, CouchDB Relational DB MySQL, MSSQL, PostgreSQL, Oracle Graph DB JanusGraph, OrientDB, Neo4j, AllegroDB Data Complexity Simple Minimally Connected Data Complex Focused on Data Relationship
  • 21. Graph Databases are HOT! Graph DB usage increasing fast!
  • 22. Graph Database Ecosystem is Complex Graph DB usage increasing fast! Graph Ecosystem is Complex FrameworksDatabases RDF Triple Stores Property Graph Gradoop
  • 23. Graph Query Languages Open Source Graph Database SPARQL Cypher Gremlin GraphQL Others - W3C Standard for RDFs - Based on semantic Web - Declarative - Based on semantic Web - Easy to use - Popular - Imperative + Declarative - Powerful - Steep learning curve - Most are extensions of SQL - Usually specific to one system - Useful for REST endpoints - Query language for APIs
  • 24. Search and Selection Problem: Get me everyone who works at X? Answer: Use RDMBS or Search server Related Data Problem: How do John and Paula knows each other? Answer: Use Graph DB Aggregation Problem: What are my average sales for each day over the past month? Answer: Use an RDMBS Pattern Matching Problem: Who is in my system has a similar profile to me? Answer: Use a search server or a graph Do I need to use GraphDB to solve my problem? There are other possibilities too Influence Problem: Who is the most influential person I am connected with on “LinkedIn” Answer: Use a graph DB
  • 25. Graph Database Use Cases High Level Use Cases Social Networking Fraud Detection Recommendation Engine Knowledge Graphs and more... Master Data Management Access Management
  • 26. Use Cases in Industry Some of use cases Relationship Status Analysis Content Management & Access Control
  • 27. Use Cases in Industry Some of use cases Insurance Risk Analysis Network Cell Analysis
  • 28. Use Cases in Industry Some of use cases Geo Routing (Public Transport) Bio Informatics
  • 29. Four Steps to Analyze Janusgraph DB
 Gremlin and Data Modelling

  • 30. Any enterprise who wants to bring their datasets and data sources together to find hidden patterns to reveal hidden information should define which datasets can be used (e.g. Voice, SMS, GPS Information, Texts) 1- Choose Datastore and Data Source Creating a graph object out of massive data is problematic and depends on high system resources. Data model generated provides blueprint that creates graph properly consisting of Vertex and Edges 3- Generate Graph Data model is an important step where massive data sources are being analyzed and modelled in order to provide identical information for graph generation 2- Data Modelling As processed data turned into a reasonable graph object, now it is time to find hidden patterns within graph or/else analyze action to be done by data scientists via visualization options provided by graph DB or 3rd party tools. 4- Information Analyze / Visualize Four Steps to Analyze How an enterprise starts to analyze their data from zero?
  • 31. Data Modelling Graph Data Model = Whiteboard-Friendly Problem: Create data model for Chicago Crime Dataset Description: Dataset of bad people doing bad things in the Windy City. Columns: unique_key case_number date . block iucr primary_type description location_description arrest domestic beat district ward community_area fbi_code x_coordinate y_coordinate year updated_on latitude longitude location Person Crime Case Block Crime Type District updated_on date description fbi_code primary_type domestic name description name description age name identity_no married involved_in type_of occurred within arrested
  • 32. How to do analyze on Graph? Compute and Analyze
  • 33. Traverse Example How to traverse step by step Can you tell me the name of the people that marko knows? gremlin> marko = g.V().has('name','marko').next() //1
 ==>v[1]
 gremlin> g.V(marko).out('knows') //2
 ==>v[2]
 ==>v[4]
 gremlin> g.V(marko).out('knows').values('name') //3
 ==>vadas
 ==>josh
  • 34. Visualization Various of libraries exists A lot of libraries and tools exists
  • 35. Graph Database WARS! Graph DB usage increasing fast! ● Neo4J is still dominant ● JanusGraph is getting being recognised ● Amazon Neptune is still in war
  • 36. Janusgraph is very popular! Graph DB usage increasing fast!
  • 37. What is JanusGraph DB? Open Source Graph Database Apache Tinkerpop Enabled A popular graph engine Property Graph Consists of Vertex, Edge and Properties Pluggable Storage Pluggable Search Backend Scalable Designed for scale up scale out realtime and analytical graph computing applications
  • 38. Crime Scenarios Crime use cases for police department
  • 39. Patrol Distribution Patrol distribution can be arrenged based on ACI and victim clustering # of arrested persons It is easy to draw pattern of arrested person by block and time, with such clustering new patterns can be identified Crime Patterns Help to understand how crime trend changes what are crime patterns for specific location and how zones Crime Network Analysis Connection of any suspect or victim with known, unknown organizations and network cartels Police Department Scenarios Sample use cases
  • 40. Patrol Distribution Sample use cases 1- Reveal where the most deadly crimes happens 2- Display them on map 3- Run ML to predict
  • 41. Crime Patterns Sample use cases 1- Identify crime types 2- Crimes seen together 3- “BURGLARY” ,”ROBBERY”, “MOTOR VEHICLE THEFT”, “NARCOTICS” crimes seen together.
  • 42. Crime Network Analysis Sample use cases 1- Connected clusters 2- Centrality Algorithms Betweenness Centrality Eigenvector Centrality 3- Find man in the middle
  • 43. References Further readings and support points ● Apache Tinkerpop Provides a feature rich graph computing framework ○ http://tinkerpop.apache.org/ ● A nice book written by Kewin Lavrance with examples ○ http://kelvinlawrence.net/book/Gremlin-Graph-Guide.html ● Ted Wilmes on the state of JanusGraph 2018 ● HBaseCon2017 Community-Driven Graphs with JanusGraph ● Graph Databases Will Change Your Freakin' Life (Best Intro Into Graph Databases) ● MaxDeMarzi - Addressing The BigData Challenge With A Graph