Skip to main content

Browse

Select a node to see its properties and all connected neighbors.

Shortest Path

Find the shortest connection between any two nodes using shortestPath().

Recommendations

Find related items by traversing 2 hops through the graph. Items with more connecting paths score higher.

Cypher REPL

Run read-only Cypher queries against the graph. Write operations (CREATE, DELETE, etc.) are blocked.

Graph vs SQL

Side-by-side comparison of common queries in Cypher and SQL.

Variable-Depth Traversal

Cypher
MATCH (t:Technology)-[:DEPENDS_ON*1..5]->(dep)
RETURN t.name, dep.name
SQL
WITH RECURSIVE deps AS (
  SELECT id, name FROM technologies
  WHERE id = ?
  UNION ALL
  SELECT t.id, t.name
  FROM technologies t
  JOIN dependencies d ON t.id = d.dep_id
  JOIN deps ON deps.id = d.tech_id
)
SELECT * FROM deps;

Shortest Path

Cypher
MATCH path = shortestPath(
  (a:Technology {name: 'Bun'})-[*]-(b:Technology {name: 'UnoCSS'})
)
RETURN [n IN nodes(path) | n.name]
SQL
-- No native shortest path in SQL.
-- Requires BFS with recursive CTE,
-- visited set tracking, and
-- manual path reconstruction.
-- (~30-50 lines of SQL)

Pattern Matching

Cypher
MATCH (a)-[:DEPENDS_ON]->(shared)<-[:DEPENDS_ON]-(b)
WHERE a <> b
RETURN a.name, b.name, shared.name
SQL
SELECT a.name, b.name, s.name
FROM dependencies d1
JOIN dependencies d2 ON d1.dep_id = d2.dep_id
JOIN technologies a ON d1.tech_id = a.id
JOIN technologies b ON d2.tech_id = b.id
JOIN technologies s ON d1.dep_id = s.id
WHERE a.id <> b.id;