The LinkLens platform uses Neo4j to model financial networks and identify AML patterns. The data is generated and ingested via the scripts in scripts/.
| Label | Description | Key Properties |
|---|---|---|
Company |
Corporate entities (e.g. LLCs, Corps) | id, name, jurisdiction, sector, is_shell, risk_score |
Person |
Individuals (e.g. Directors, UBOs) | id, name, nationality, is_pep (Politically Exposed Person) |
Account |
Bank Accounts | id, bank_name, balance |
Attribute |
Identifying markers (IPs, Addresses) | type, value |
| Type | Source Node | Target Node | Description | Properties |
|---|---|---|---|---|
OWNS |
Person |
Company |
Indicates a person holds equity in a company. | ownership_pct, is_director |
HAS_ACCOUNT |
Company |
Account |
Links a corporate entity to its banking accounts. | - |
HAS_ATTRIBUTE |
Company |
Attribute |
Connects a company to identifiers (e.g., shared IPs or addresses). | - |
SENT |
Account |
Transaction |
The source side of a financial transfer. | - |
RECEIVED_BY |
Transaction |
Account |
The destination side of a financial transfer. | - |
TRANSACTED_WITH* |
Account |
Account |
Virtual edge inferred during graph traversal for direct D3.js visualization. | id, amount, currency, timestamp, purpose, is_suspicious |
* Note: The actual transaction nodes and edges are simplified into direct TRANSACTED_WITH edges when served to the frontend for D3 rendering.