🕸️ Graph Analytics

Twelve graph operators — reachable as typed SDK methods or as SQL operators. The story: trace the money from Acme to cash.

Create the edges first

client.create_link("AUTHORIZED", "alice", "Person", "tx1", "Transaction")
client.create_link("AUTHORIZED", "david", "Person", "tx2", "Transaction")
client.create_link("AUTHORIZED", "bob",   "Person", "tx3", "Transaction")
client.create_link("AUTHORIZED", "alice", "Person", "tx4", "Transaction")
# {"link_name": "AUTHORIZED", "source_id": "alice", ...}

Shortest path

client.graph_shortest_path("alice", "tx3")
# {"path": ["alice", "tx1", "Pacific Trust 7742", "tx2", "ShellCo Ltd", "tx3"],
#  "hops": 5}
 
client.graph_dijkstra("Transaction", "tx1", "tx3")  # weighted variant

Traversal

client.graph_traverse("alice", direction="out", max_depth=3, limit=50)
# {"nodes": [{"id": "tx1"}, {"id": "tx4"}, ...],
#  "edges": [{"from": "alice", "to": "tx1", "label": "AUTHORIZED"}, ...]}

Centrality & community detection

client.graph_pagerank("Person", damping=0.85, max_iter=100)
# {"data": [{"id": "alice", "score": 0.42},
#           {"id": "bob",   "score": 0.21}, ...]}
 
client.graph_community("Person")
# {"communities": [{"id": 0, "members": ["alice", "bob", "david"]}, ...]}
 
client.graph_scc("Person")                # strongly connected components
client.graph_triangle_count("Transaction") # graph density / cohesion
client.graph_link_predict("Person")
# Predicts missing relationships: [{"from": "alice", "to": "david", "score": 0.78}, ...]
 
client.graph_node_similarity("Person", "alice")
# {"data": [{"id": "bob", "score": 0.91}, {"id": "david", "score": 0.64}]}
All 12 graph operators
MethodSQL operatorFinds
graph_shortest_path(src, dst)GET /graph/shortest-pathshortest path (HTTP door, supports max_hops)
graph_dijkstra(type, src, dst)GRAPH_DIJKSTRA(...)weighted shortest path
graph_traverse(src, depth=)GET /graph/traverseBFS traversal
graph_pagerank(type)GRAPH_PAGERANK(...)centrality
graph_community(type)GRAPH_COMMUNITY(...)Louvain/label-prop communities
graph_scc(type)GRAPH_SCC(...)strongly connected components (fraud rings)
graph_cycles(type)GRAPH_CYCLES(...)cycle detection
graph_triangle_count(type)TRIANGLE_COUNT(...)cohesion
graph_node_similarity(type, node)GRAPH_NODE_SIMILARITY(...)similar entities
graph_link_predict(type)GRAPH_LINK_PREDICT(...)missing edges
list_edge_types()GET /types/edgesregistered edges
register_edge_type(from, to, label)POST /types/edgesregister an edge
create_link(name, src, srcT, dst, dstT)POST /linkscreate an edge instance

Next: Investigation Tools — sanctions screening, beneficial ownership, crypto/wire/hawala traces, geofence, maritime.