Gen AI in Business - Global Trends Report 2024.pdf
POLE Investigations with Neo4j
1. POLE Investigations using Neo4j
and Graph Algorithms
Joe Depeau
Sr. Presales Consultant, UK
20th March, 2018
@joedepeau
http://linkedin.com/in/joedepeau
2. • What is the POLE Data Model?
• Why Neo4j?
• Neo4j POLE Demo
• Sample POLE Data Visualisations
• Extending the Demo for Real-world Use
• Q & A
2
Agenda
4. 4
The POLE Data Model Vehicles
Evidence
Weapons
Documents
Emails
Phones
Victims
Suspects
Witnesses
Investigators
Employers
Family Members
Crimes
Arrests
Meetings
Data Transmissions
Phone Calls
Interventions
Crime Scenes
Home Addresses
Places of Employment
Public Buildings
Landmarks
Travel Destinations
Objects
Persons
Events
Locations
5. • Policing
• Counter Terrorism
• Border Control / Immigration
• Child Protection / Social
Services
• Missing Persons
• Prisoner Rehabilitation
5
POLE Use Cases
Real Time
Proactive
Reactive
Insights
10. Blank SlideUsing Other NoSQL to Join Data
Using Neo4j
Slow queries due to
index lookups &
network hops
Lightning-fast queries
due to replicated in-
memory architecture and
index-free adjacency
Relationship Queries on non-native Graph Architectures
MACHINE 1 MACHINE 2 MACHINE 3
UNIFIED, IN MEMORY MAP
10
12. • UK street-level crime data is freely available from data.police.uk
• We will be looking at street-level crime data from the Greater Manchester Police
for the month of August 2017
• The crime data provides unique crime IDs, longitude and latitude (at street or
‘block’ level), month, crime type, and last outcome
• The crime data does not include personal identifiers (not even anonymised
tokens)
• Longitude/latitude values were translated to UK postcodes using public APIs
• Random data was generated for people, officers, phone calls, crime date, etc.
• The crime and random data where combined and curated to create the demo
12
About the Demo Dataset
○ Locations: 14,904 ○ Crimes: 28,762 Relationships: 105,853
○ Officers: 1,000 ○ Persons: 368
15. • We’ll view a few example visualisations created using Tableau
Public:
• A geographic representation of crimes in the database
• A chart of crimes by type and date
• A geographic representation of the centrality algorithm results
• Connectivity between Neo4j and Tableau Public is managed by the
Neo4j Tableau Web Data Connector v2.0
• Demonstrates the types of Geospatial and BI visualisations that can
be designed on top of a POLE graph
15
Sample visualisations using Tableau
16. • We’ll also view an example front-end using Neo4viz, an internally
developed tool for creating visualisations.
• Demonstrates how an end-user POLE application interface might
look.
• Neo4viz was developed using:
• SpringBoot
• ZK Server
• Font Awesome & Ionicons
• vis.js
16
Sample visualisations using Neo4viz
Neo4j
POLE
data SpringBoot
Web App
Browser App
18. • Using ‘Personas’ instead of ‘Person’, to account for things like aliases.
• A richer set of relationships between Persons and Crimes (i.e. Witness_To, Victim_Of,
Suspected_Of, Convicted_Of), Locations (i.e. Works_At, Visited, etc.), and Objects (i.e.
Owner_Of, Driver_Of).
• Supporting traceability and auditing of data. In real life it’s very important to understand
the lineage of the data (who entered the information and when, who updated it, has it been
verified, etc.) and how we could demonstrate we have the right to hold that information (i.e.
was it discovered as part of an investigation, is it publicly available, etc.).
• A robust security configuration, to restrict data access to those who have the right
authorisation.
• Adding weighting to our searches and algorithms - for example some crimes might be
considered more dangerous than others (i.e. Violence and Sexual Offences are more
serious than Shoplifting), or some relationships might be considered closer (i.e. ‘Family’ or
‘Lives With’ may be weighted more than ‘Social Network’).18
Ways the demo could be extended
21. • Open data about crime and policing in England, Wales, and Northern
Ireland: http://data.police.uk
• Neo4j Tableau Web Connector: https://github.com/neo4j-
contrib/neo4j-tableau
• Neo4j Graph Algorithms: https://neo4j.com/developer/graph-
algorithms/
21
Links