Fighting fraud with graph databases
summary
Graph storage of Belgian social security declarations maps Limos and DDT forms into a traversal problem solved with Neo4j and Cypher, running on a graph of about 20M nodes and 45B relationships. A fraud pattern (foreign sender → client → subcontractor path missing) returns hits in under a second or full tables in ~10s. Duplicate companies are handled by duplication-group nodes plus address cleansing (OpenRefine/radium) instead of destructive merging, and the solution proves fast and actionable for social dumping detection.
AI-written summary · about
chapters (22)
- 0:00Intro
- 0:25Outline
- 0:50Motivations
- 2:23Starting points
- 7:50RDBMS and relationships: limitations
- 10:15Graph database model
- 11:46GraphDB: objectives
- 13:14GraphDB : less code
- 15:01Neo4j request
- 17:00How it works
- 19:14Limosa: detachment declaration
- 20:26DDT: sub-contractors
- 21:57Full schema
- 24:36Full query
- 25:17Implementation
- 29:48In SQL/RDBMS ?
- 31:01Data quality problem
- 34:01Addresses
- 35:38Duplicates combinations
- 36:39Schema with B duplicated
- 39:31Conclusions
- 40:49References : www.smalsresearch.be
related talks
55mLet Me Graph That For You
44mWhat Finance Can Learn From Dating Sites
53mBreaking Credit Card Fraud Rings with Neo4j
29mSo... Graph Databases
47mWhat Business Can Learn from Dating
26mAdvancing Financial Fraud Detection with Graph Dbs
39mUse of graph-oriented database in the detection of fraud in quotas for parliamentary activity
46mFraud Detection at Floa
