Transform any Delta Lake table into a graph with simple configuration. Run PageRank, community detection, and pathfinding algorithms directly via SQL.
Write graph patterns in Cypher, combine results with SQL - all in one query
MATCH (p:Person)-[:FOLLOWS]->(friend:Person)
-[:PURCHASED]->(product:Product)
WHERE p.name = 'Alice'
RETURN friend.name, product.name, product.price
SELECT c.friend_name, c.product_name,
i.stock_level, s.supplier_name
FROM cypher('
MATCH (p:Person)-[:FOLLOWS]->(f:Person)
-[:PURCHASED]->(prod:Product)
WHERE p.name = $1
RETURN f.name AS friend_name,
prod.id AS product_id,
prod.name AS product_name
', 'Alice') AS c
JOIN inventory i ON i.product_id = c.product_id
JOIN suppliers s ON s.id = i.supplier_id
WHERE i.stock_level > 0;
Identify the most important nodes in your graph
Google's algorithm for ranking node importance based on link structure. Ideal for influence analysis and recommendation systems.
Measures how often a node lies on shortest paths between other nodes. Identifies critical bridges and bottlenecks.
Measures average distance from a node to all other nodes. Finds nodes that can quickly reach the entire network.
Simple count of connections per node. Supports in-degree, out-degree, and total degree for directed graphs.
Assigns importance based on connections to other important nodes. Foundation of PageRank algorithm.
Computes hub and authority scores. Hubs point to authorities; authorities are pointed to by hubs.
Discover clusters and communities within your data
Fast modularity optimization for large-scale community detection. Hierarchical clustering with configurable resolution.
Semi-supervised community assignment based on neighbor labels. Fast and scalable for massive graphs.
Find weakly and strongly connected components. Essential preprocessing for many graph algorithms.
Count triangles for clustering coefficient calculation. Measures local density and transitivity.
Find cohesive subgraphs where each node has at least k neighbors. Identifies dense core structures.
Measure quality of community partitions. Compare different clustering results objectively.
Discover routes and relationships between nodes
Find shortest weighted path between two nodes. Single-source shortest path to all destinations.
Compute shortest paths between all node pairs. Floyd-Warshall and Johnson's algorithms.
Level-by-level graph traversal. Find nodes within n hops, compute hop distances.
Heuristic-guided pathfinding for faster results. Optimal for geospatial and game graphs.
Find lowest-cost tree connecting all nodes. Prim's and Kruskal's algorithms available.
Simulate random traversals through the graph. Foundation for node2vec embeddings.
Use graph algorithms directly in SQL queries
graph_pagerank()
Compute PageRank scores with configurable damping and iterations
graph_shortest_path()
Find shortest path between any two nodes
graph_louvain()
Detect communities using Louvain algorithm
graph_connected_components()
Find all connected components in the graph
graph_betweenness()
Calculate betweenness centrality scores
graph_triangles()
Count triangles and compute clustering coefficients
graph_neighbors()
Get neighbors within n hops of a node
graph_label_propagation()
Assign community labels via propagation
Enterprise-grade capabilities for production workloads
Create, update, and delete nodes and edges directly via SQL
-- Create nodes
INSERT INTO GRAPH social_network NODE person
VALUES ('Alice', 30);
INSERT INTO GRAPH social_network NODE person
VALUES ('Bob', 28);
-- Create an edge between them
INSERT INTO GRAPH social_network EDGE knows
VALUES ('Alice', 'Bob', '2024-01-15');
-- Update a node property
UPDATE GRAPH social_network NODE person
SET age = 31
WHERE name = 'Alice';
-- Delete a relationship
DELETE FROM GRAPH social_network EDGE knows
WHERE src = 'Alice' AND dst = 'Bob';
-- Delete a node (cascades edges)
DELETE FROM GRAPH social_network NODE person
WHERE name = 'Bob';
Choose the storage strategy that fits your graph workload
Nodes and edges stored as flat columns in standard Delta tables. Best for simple graphs with fixed schemas where fast columnar scans matter most.
Structured edge columns with property maps for flexible attributes. Balances query performance with schema flexibility for evolving graphs.
Full graph structure stored in JSON columns. Maximum flexibility for complex, deeply nested schemas and heterogeneous property types.
Built-in graph datasets for testing and benchmarking
Karate Club
Zachary's classic social network - 34 nodes, ideal for community detection validation
EU Email
Email communication network from a European research institution - thousands of nodes and edges
NetScience
Co-authorship network of scientists working on network theory - real collaboration patterns
PolBooks
Political books co-purchasing network - classic benchmark for partitioning algorithms
LDBC SNB
Linked Data Benchmark Council Social Network - industry-standard graph benchmark at scale
Start analyzing relationships in your data with powerful graph algorithms.