Skip to content

Commit 35b9acd

Browse files
authored
Merge pull request #10 from Buffden/feature/implementation
Feature/implementation
2 parents 61c827a + 9348226 commit 35b9acd

14 files changed

Lines changed: 618 additions & 135 deletions

README.md

Lines changed: 166 additions & 36 deletions
Large diffs are not rendered by default.

assets/images/graph.png

-507 KB
Binary file not shown.

assets/images/graph.svg

Lines changed: 1 addition & 0 deletions
Loading

diagrams/data_model.excalidraw

Lines changed: 413 additions & 94 deletions
Large diffs are not rendered by default.

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ services:
1414
- neo4j_data:/data
1515
- neo4j_logs:/logs
1616
- ./data/raw:/var/lib/neo4j/import
17+
- ./queries:/var/lib/neo4j/import/queries
1718
healthcheck:
1819
test: ["CMD", "cypher-shell", "-u", "${NEO4J_USER}", "-p", "${NEO4J_PASSWORD}", "RETURN 1"]
1920
interval: 10s

queries/README.md

100644100755
File mode changed.

queries/basic_traversal.cypher

100644100755
File mode changed.

queries/ring_detection.cypher

100644100755
Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1-
MATCH (start:Account {fraud_confirmed: true})-[:HAS_PHONE|HAS_EMAIL|HAS_DEVICE*1..6]-(connected:Account)
2-
WHERE start <> connected
3-
RETURN DISTINCT connected.name, connected.fraud_confirmed
1+
// Graph visualization — paste into Neo4j browser, switch to graph view.
2+
// Returns fraud accounts and their shared identifier nodes (Phone/Email/Device).
3+
// The browser renders which identifiers are shared across accounts, revealing the rings.
4+
MATCH (a:Account {fraud_confirmed: true})-[r:HAS_PHONE|HAS_EMAIL|HAS_DEVICE]->(identifier)
5+
RETURN a, r, identifier
6+
7+
// Tabular form — returns one row per connected account, useful for analysis.
8+
// MATCH (start:Account {fraud_confirmed: true})-[:HAS_PHONE|HAS_EMAIL|HAS_DEVICE*1..6]-(connected:Account)
9+
// WHERE start <> connected
10+
// RETURN DISTINCT connected.name, connected.fraud_confirmed

queries/risk_scoring.cypher

100644100755
File mode changed.

queries/shared_identifiers.cypher

100644100755
File mode changed.

0 commit comments

Comments
 (0)