Graph Algorithms & Intelligence
Graph runs over a CSR adjacency with PLL distance (ADR graph). graph_dijkstra is shortest path; graph_scc finds fraud rings; graph_pagerank is centrality with tunable damping/max_iter. The intelligence operators (beneficial ownership, sanctions, convoy, burner, crypto trace, geofence…) compose the algorithms with domain logic.
23 methods across this domain. Signatures, parameters (incl. keyword-only tunable defaults), and the three SDK spellings are ported from the live SDK source; flagship methods carry a hand-written When to use + example.
RelataClient
beneficial_ownership_chain(party, max_depth=None, purpose=None)
When to use. Trace ultimate beneficial ownership through a corporate hierarchy (intel operator).
- Python —
client.relataclient.beneficial_ownership_chain(party, max_depth=None, purpose=None) - TypeScript —
beneficialOwnershipChain(party, opts) - Go —
BeneficialOwnershipChain(purpose, party, maxDepth)
Parameters: party, max_depth=None, purpose=None
Example
ubo = relata.beneficial_ownership_chain("ShellCo")graph_dijkstra(object_type, from_id, to_id, purpose=None)
When to use. Shortest path between two nodes, governed.
- Python —
client.relataclient.graph_dijkstra(object_type, from_id, to_id, purpose=None) - TypeScript —
graphDijkstra(objectType, fromId, toId, purpose) - Go —
GraphDijkstra(purpose, objectType, from, to)
Parameters: object_type, from_id, to_id, purpose=None
Example
path = relata.graph_dijkstra("Person", "p-1", "p-9")p, _ := relata.GraphDijkstra(ctx, "Person", "p-1", "p-9")graph_pagerank(object_type, damping=None, max_iter=None, purpose=None)
When to use. Centrality / influence ranking — tune damping (server default 0.85) and max_iter.
- Python —
client.relataclient.graph_pagerank(object_type, damping=None, max_iter=None, purpose=None) - TypeScript —
graphPageRank(objectType, opts) - Go —
GraphPageRank(purpose, objectType)
Parameters: object_type, damping=None, max_iter=None, purpose=None
Example
ranks = relata.graph_pagerank("Transaction", damping=0.85, max_iter=100)graph_scc(object_type, purpose=None)
When to use. Strongly-connected components — the fraud-ring primitive.
- Python —
client.relataclient.graph_scc(object_type, purpose=None) - TypeScript —
graphSCC(objectType, purpose) - Go —
GraphSCC(purpose, objectType)
Parameters: object_type, purpose=None
Example
rings = relata.graph_scc("Transaction")graph_traverse(from_id, direction=None, max_depth=None, limit=None)
When to use. BFS traversal from a node — tune direction/max_depth/limit.
- Python —
client.relataclient.graph_traverse(from_id, direction=None, max_depth=None, limit=None) - TypeScript —
graphTraverse(fromId, opts) - Go —
GraphTraverse(from)
Parameters: from_id, direction=None, max_depth=None, limit=None
Example
ring = relata.graph_traverse("p-1", direction="both", max_depth=4, limit=200)sanctions_screen(party, threshold=None, purpose=None)
When to use. Screen entities against sanctions lists via the governed intel operator.
- Python —
client.relataclient.sanctions_screen(party, threshold=None, purpose=None) - TypeScript —
sanctionsScreen(party, opts) - Go —
SanctionsScreen(purpose, party)
Parameters: party, threshold=None, purpose=None
Example
hits = relata.sanctions_screen("Person", watchlist="ofac")burner_detect(max_age_days=None, max_calls=None, purpose=None)
burner_detect(max_age_days=None, max_calls=None, purpose=None)`
- Python —
client.relataclient.burner_detect(max_age_days=None, max_calls=None, purpose=None) - TypeScript —
burnerDetect(opts) - Go —
BurnerDetect(purpose)
Parameters: max_age_days=None, max_calls=None, purpose=None
convoy_detect(radius_m=None, time_tol_secs=None, min_points=None, purpose=None)
convoy_detect(radius_m=None, time_tol_secs=None, min_points=None, purpose=None)`
- Python —
client.relataclient.convoy_detect(radius_m=None, time_tol_secs=None, min_points=None, purpose=None) - TypeScript —
convoyDetect(opts) - Go —
ConvoyDetect(purpose)
Parameters: radius_m=None, time_tol_secs=None, min_points=None, purpose=None
crime_pattern_cluster(area, purpose=None)
crime_pattern_cluster(area, purpose=None)`
- Python —
client.relataclient.crime_pattern_cluster(area, purpose=None) - TypeScript —
crimePatternCluster(area, purpose) - Go —
CrimePatternCluster(purpose, area)
Parameters: area, purpose=None
crypto_trace(entity, purpose=None)
crypto_trace(entity, purpose=None)`
- Python —
client.relataclient.crypto_trace(entity, purpose=None) - TypeScript —
cryptoTrace(entity, purpose) - Go —
CryptoTrace(purpose, entity)
Parameters: entity, purpose=None
dark_fleet_detect(max_gap_hours=None, purpose=None)
dark_fleet_detect(max_gap_hours=None, purpose=None)`
- Python —
client.relataclient.dark_fleet_detect(max_gap_hours=None, purpose=None) - TypeScript —
darkFleetDetect(opts) - Go —
DarkFleetDetect(purpose, maxGapHours)
Parameters: max_gap_hours=None, purpose=None
dns_tunnel_detect(entity, purpose=None)
dns_tunnel_detect(entity, purpose=None)`
- Python —
client.relataclient.dns_tunnel_detect(entity, purpose=None) - TypeScript —
dnsTunnelDetect(entity, purpose) - Go —
DnsTunnelDetect(purpose, entity)
Parameters: entity, purpose=None
geofence(fence, target_type=None, purpose=None)
geofence(fence, target_type=None, purpose=None)`
- Python —
client.relataclient.geofence(fence, target_type=None, purpose=None) - TypeScript —
geofence(fence, opts) - Go —
Geofence(purpose, fence, targetType)
Parameters: fence, target_type=None, purpose=None
graph_community(object_type, purpose=None)
graph_community(object_type, purpose=None)`
- Python —
client.relataclient.graph_community(object_type, purpose=None) - TypeScript —
graphCommunity(objectType, purpose) - Go —
GraphCommunity(purpose, objectType)
Parameters: object_type, purpose=None
graph_cycles(object_type, purpose=None)
graph_cycles(object_type, purpose=None)`
- Python —
client.relataclient.graph_cycles(object_type, purpose=None) - TypeScript —
graphCycles(objectType, purpose) - Go —
GraphCycles(purpose, objectType)
Parameters: object_type, purpose=None
graph_link_predict(object_type, purpose=None)
graph_link_predict(object_type, purpose=None)`
- Python —
client.relataclient.graph_link_predict(object_type, purpose=None) - TypeScript —
graphLinkPredict(objectType, purpose) - Go —
GraphLinkPredict(purpose, objectType)
Parameters: object_type, purpose=None
graph_node_similarity(object_type, node, purpose=None)
graph_node_similarity(object_type, node, purpose=None)`
- Python —
client.relataclient.graph_node_similarity(object_type, node, purpose=None) - TypeScript —
graphNodeSimilarity(objectType, node, purpose) - Go —
GraphNodeSimilarity(purpose, objectType, node)
Parameters: object_type, node, purpose=None
graph_shortest_path(from_id, to_id, max_hops=None)
graph_shortest_path(from_id, to_id, max_hops=None)`
- Python —
client.relataclient.graph_shortest_path(from_id, to_id, max_hops=None) - TypeScript —
graphShortestPath(fromId, toId, opts) - Go —
GraphShortestPath(from, to)
Parameters: from_id, to_id, max_hops=None
graph_triangle_count(object_type, purpose=None)
graph_triangle_count(object_type, purpose=None)`
- Python —
client.relataclient.graph_triangle_count(object_type, purpose=None) - TypeScript —
graphTriangleCount(objectType, purpose) - Go —
GraphTriangleCount(purpose, objectType)
Parameters: object_type, purpose=None
hawala_trace(seed, max_hops=None, purpose=None)
hawala_trace(seed, max_hops=None, purpose=None)`
- Python —
client.relataclient.hawala_trace(seed, max_hops=None, purpose=None) - TypeScript —
hawalaTrace(seed, opts) - Go —
HawalaTrace(purpose, seed)
Parameters: seed, max_hops=None, purpose=None
vessel_to_vessel_transfer(proximity_nm=None, time_window_minutes=None, purpose=None)
vessel_to_vessel_transfer(proximity_nm=None, time_window_minutes=None, purpose=None)`
- Python —
client.relataclient.vessel_to_vessel_transfer(proximity_nm=None, time_window_minutes=None, purpose=None) - TypeScript —
vesselToVesselTransfer(opts) - Go —
VesselToVesselTransfer(purpose, proximityNm, timeWindowMinutes)
Parameters: proximity_nm=None, time_window_minutes=None, purpose=None
vessel_track(mmsi, window_secs=None, purpose=None)
vessel_track(mmsi, window_secs=None, purpose=None)`
- Python —
client.relataclient.vessel_track(mmsi, window_secs=None, purpose=None) - TypeScript —
vesselTrack(mmsi, opts) - Go —
VesselTrack(purpose, mmsi, windowSecs)
Parameters: mmsi, window_secs=None, purpose=None
wire_reconstruction(account, tolerance_pct=None, purpose=None)
wire_reconstruction(account, tolerance_pct=None, purpose=None)`
- Python —
client.relataclient.wire_reconstruction(account, tolerance_pct=None, purpose=None) - TypeScript —
wireReconstruction(account, opts) - Go —
WireReconstruction(purpose, account, tolerancePct)
Parameters: account, tolerance_pct=None, purpose=None