Graph Analysis and Relationship Traversal

advanced 13 min

Abstract

Due diligence investigations are fundamentally exercises in relationship discovery. The connections between persons, companies, addresses, and assets reveal ownership structures, control patterns, conflicts of interest, and risk indicators that no amount of isolated entity analysis can uncover. The Prismatic Platform models these relationships as a property graph stored in KuzuDB, enabling sophisticated traversal queries -- ownership chain resolution, shared director network analysis, address clustering, temporal relationship evolution, and hidden connection discovery -- that would be prohibitively complex or impossible in relational database systems. This document describes the graph data model, the core traversal algorithms, the analytical patterns available to investigators, and the integration with the platform's entity management and risk assessment systems.

Introduction

Why Graphs for Due Diligence

Relational databases excel at structured queries over well-defined tables, but they struggle with the variable-depth, multi-hop traversals that characterize due diligence investigations. Consider a fundamental due diligence question: "Who is the ultimate beneficial owner of Company X?" Answering this requires traversing an ownership chain of unknown depth through multiple intermediate holding companies, potentially crossing jurisdictional boundaries and encountering circular ownership structures, nominee arrangements, and trust vehicles.

In SQL, this query requires recursive common table expressions with depth limits, performance degradation at each additional hop, and awkward handling of cycles. In a graph database, the same query is a natural multi-hop traversal that follows ownership edges from the target node upward until reaching natural person endpoints or the configured depth limit.

The Prismatic Platform uses KuzuDB -- an embedded graph database engine optimized for analytical workloads -- as its relationship storage and traversal engine. KuzuDB's columnar storage format and vectorized query execution provide the performance characteristics needed for interactive investigation workflows where analysts expect sub-second responses to complex traversal queries.

Graph Data Model

The platform's graph model consists of entity nodes and relationship edges, both carrying typed properties:

Node Types (corresponding to entity types):

Node TypeKey PropertiesSource
Personname, date_of_birth, nationality, pep_statusRegistry data, OSINT
Companyico, legal_name, legal_form, status, formation_dateARES, Justice.cz
Addressstreet, city, postal_code, country, geocoordinatesNormalized from registries
Domaindomain_name, registrar, registration_dateWHOIS, DNS
BankAccountiban, bank_code, currencyFinancial sources
Documentreference, type, court, filing_dateCourt records

Edge Types:

Edge TypeFromToProperties
OWNSPerson/CompanyCompanyshare_percentage, since, until, source
DIRECTSPersonCompanyrole, since, until, source
REGISTERED_ATCompanyAddresstype (seat/branch/mailing), since, until
RESIDES_ATPersonAddresssince, until, source
CONTROLSPerson/CompanyDomainsince, until
CONTRACTS_WITHCompanyCompanycontract_id, value, date
RELATED_TOAnyAnyrelationship_type, confidence

All edges carry temporal properties (since, until) that enable point-in-time graph queries and temporal evolution analysis.

Core Traversal Algorithms

Ownership Chain Traversal

The most critical traversal pattern for due diligence is ownership chain resolution -- determining the ultimate beneficial owners (UBOs) of a target entity by following OWNS edges upward through the ownership hierarchy.

Target Company
    |
    OWNS (60%) --> Holding Company A (Czech s.r.o.)
    |                   |
    |                   OWNS (100%) --> Person X (Czech national)
    |
    OWNS (40%) --> Holding Company B (Cypriot Ltd)
                        |
                        OWNS (75%) --> Trust Vehicle C (Jersey)
                        |                   |
                        |                   BENEFICIARY --> Person Y (Russian national)
                        |
                        OWNS (25%) --> Foundation D (Liechtenstein)
                                            |
                                            CONTROLLER --> Person Z (Unknown)

The traversal algorithm:

  1. Start at the target company node
  2. Follow all incoming OWNS edges, recording share percentages
  3. At each intermediate node, multiply the accumulated ownership percentage by the edge's share percentage to compute effective ownership
  4. Terminate when reaching natural person nodes, depth limit, or nodes with no further ownership edges
  5. Flag circular ownership (A owns B owns A) and nominee patterns (single person directing 10+ companies)
  6. Report all paths from target to natural persons, with effective ownership percentages

The platform applies the EU's Fourth Anti-Money Laundering Directive threshold of 25% for beneficial ownership determination. Any natural person with 25% or more effective ownership is flagged as a UBO. Persons with significant control through other means (director positions, shareholder agreements) are flagged as potential controllers even below the 25% threshold.

Director Network Analysis

Director network analysis identifies all companies sharing common directors or statutory body members with a target entity, revealing potential conflicts of interest, corporate group structures, and nominee director patterns.

Person A (Director)
    |
    DIRECTS --> Company 1 (Target)
    DIRECTS --> Company 2 (Supplier to Company 1)
    DIRECTS --> Company 3 (Competitor to Company 1)
    DIRECTS --> Company 4 (Recently dissolved)

The analysis proceeds in two stages:

Stage 1: Network Discovery Starting from the target company, the platform identifies all directors, then for each director identifies all other companies they direct. This produces a bipartite graph of persons and companies connected by DIRECTS edges.

Stage 2: Analytical Assessment The platform computes several analytical metrics on the director network:

MetricDescriptionRisk Implication
Director degreeNumber of companies a person directsHigh degree suggests nominee or professional director
Cross-directorshipsDirectors shared between target and its counterpartiesPotential conflicts of interest
Temporal overlapCompanies directed simultaneously vs sequentiallySimultaneous suggests ongoing relationships
Dissolution rateFraction of directed companies that are dissolvedHigh rate may indicate serial company formation/dissolution
Sector concentrationNACE code overlap between directed companiesIndicates industry focus or potential cartel structures

Address Clustering

Address clustering detects entities registered at the same physical location, which may indicate shell companies, virtual office usage, mass registration addresses, or legitimate shared service arrangements.

The platform maintains an address normalization layer that resolves Czech addresses into canonical forms, handling common variations in street naming, house numbering, and postal code formatting. Normalized addresses are geocoded, and entities within a configurable proximity threshold (default 50 meters) are clustered together.

Cluster Classification:

Cluster SizeClassificationInvestigation Action
1-3 entitiesNormalNo action required
4-10 entitiesElevatedReview for shared services or virtual office
11-50 entitiesHighInvestigate for mass registration address
50+ entitiesCriticalFlag as potential shell company factory

The platform cross-references address clusters with CUZK property records to determine whether the address is a residential property, commercial office, registered agent's premises, or virtual office provider.

Hidden Connection Discovery

Beyond explicit relationship edges, the platform applies graph algorithms to discover implicit connections that may not be apparent from direct entity examination:

Shortest Path Analysis: Given two entities that appear unrelated, the platform computes the shortest path between them through the relationship graph. A due diligence target with a shortest-path connection of length 2 to a sanctioned entity (e.g., Target --> Holding Company --> Sanctioned Person) warrants investigation even if the direct relationship is not obvious.

Community Detection: The platform applies the Louvain community detection algorithm to identify clusters of densely interconnected entities within the broader investigation graph. These communities often correspond to corporate groups, family business networks, or coordinated entity structures.

Centrality Analysis: Betweenness centrality computation identifies entities that serve as critical intermediaries in the relationship network. High-centrality persons or companies may represent key control points in complex corporate structures.

Anomaly Detection: Graph-level anomalies such as isolated clusters (entities with no connections to the broader investigation graph), star patterns (single entity connected to many others with no inter-connections), and bridge nodes (entities whose removal would disconnect graph components) are flagged for analyst review.

Temporal Graph Analysis

Point-in-Time Queries

The temporal properties on edges enable point-in-time graph queries that reconstruct the relationship network as it existed at any historical date. This capability is essential for:

  • Pre-transaction analysis: Examining the ownership structure of an M&A target as it existed before a transaction was announced (when restructuring may have occurred)
  • Sanctions screening: Determining whether a sanctioned person was a beneficial owner at the time of a specific transaction
  • Regulatory compliance: Verifying that the entity structure complied with regulations at the time of a specific event

Relationship Evolution Visualization

The platform generates temporal evolution visualizations that show how an entity's relationship network has changed over time. These visualizations highlight:

  • Ownership changes: Share transfers, new investors, departing shareholders
  • Director turnover: Changes in statutory body composition and timing
  • Structural changes: New subsidiaries, mergers, demergers, dissolutions
  • Address changes: Registered seat relocations, especially across jurisdictions

Rapid structural changes in the months preceding an M&A transaction or regulatory event are flagged as potential indicators of preparatory restructuring.

Change Velocity Scoring

The platform computes a normalized change velocity score for each entity, measuring the rate of structural change relative to industry norms. This score feeds directly into the risk assessment framework as part of the Ownership risk dimension.

Integration with Investigation Workflow

Graph Expansion in Case Management

Within the case management system, graph analysis drives the investigation expansion process:

  1. Analyst creates a case with seed entities
  2. Platform performs initial enrichment from OSINT sources
  3. Graph expansion discovers related entities through relationship edges
  4. Newly discovered entities are added to the case for enrichment
  5. The expansion process repeats until reaching the configured depth limit or analyst-defined scope boundary
  6. The resulting investigation graph is available for all traversal and analytical queries

Risk Score Contribution

Graph analysis contributes to multiple dimensions of the risk assessment framework:

Risk DimensionGraph Contribution
OwnershipBeneficial ownership opacity, nominee patterns, circular ownership
LegalDirector network connections to litigation or insolvency
ComplianceConnections to sanctioned entities, PEP proximity
OperationalKey person dependency (single director controlling many entities)
ReputationalAssociation with controversial entities through network connections

Visualization and Reporting

The platform provides interactive graph visualizations through Phoenix LiveView, allowing analysts to:

  • Explore entity relationships interactively
  • Filter by relationship type, time period, or confidence level
  • Highlight paths between specific entities
  • Collapse or expand corporate group clusters
  • Export graph visualizations for inclusion in due diligence reports

Performance and Scalability

KuzuDB's embedded architecture and columnar storage format provide the performance characteristics required for interactive investigation workflows:

OperationTypical Performance
Single-hop traversal<10ms
Ownership chain (5 hops)<50ms
Director network (2 hops)<100ms
Shortest path (up to 10 hops)<200ms
Community detection (1000 nodes)<500ms
Full graph export<2s for 10,000 nodes

The platform's graph store scales linearly with entity count, supporting investigation graphs with tens of thousands of entities and hundreds of thousands of relationships without performance degradation.

Conclusion

Graph-based relationship analysis is the analytical engine that transforms individual entity data points into investigative intelligence. By modeling the complex web of ownership, directorship, address, and contractual relationships as a traversable property graph, the Prismatic Platform enables investigators to answer the questions that matter most in due diligence: Who really owns this company? Who controls it? What are the hidden connections? And how has this structure changed over time?

References


Connect & Contribute

Created by Tomáš Korcak (korczis) | Open Source under GHL