🕸️ 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 variantTraversal
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 / cohesionLink prediction & similarity
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
| Method | SQL operator | Finds |
|---|---|---|
graph_shortest_path(src, dst) | GET /graph/shortest-path | shortest path (HTTP door, supports max_hops) |
graph_dijkstra(type, src, dst) | GRAPH_DIJKSTRA(...) | weighted shortest path |
graph_traverse(src, depth=) | GET /graph/traverse | BFS 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/edges | registered edges |
register_edge_type(from, to, label) | POST /types/edges | register an edge |
create_link(name, src, srcT, dst, dstT) | POST /links | create an edge instance |
Next: Investigation Tools — sanctions screening, beneficial ownership, crypto/wire/hawala traces, geofence, maritime.