Files
CS374-Database-Systems/Neo4j/neo4j-notes.md
2025-12-07 16:53:29 -05:00

1.5 KiB

Writing Queries for Neo4j

Part 1

Name: Nicholas Tamassia

Part 2

NEO4J_URI=bolt://44.202.200.48 NEO4J_USERNAME=neo4j NEO4J_PASSWORD=towers-possession-electrician NEO4J_DATABASE=neo4j

Part 3

Find movies released after 2000

MATCH (m:Movie)
WHERE m.released > 2000
RETURN m.title, m.released
ORDER BY m.released DESC;

Top 5 most common Actors

MATCH (p:Person)-[:ACTED_IN]->(m)
RETURN p.name AS actor, COUNT(m) AS movies
ORDER BY movies DESC
LIMIT 5;

All movies Tom Hanks was in

MATCH (p:Person {name: "Tom Hanks"})-[:ACTED_IN]->(m:Movie)
RETURN m.title, m.released;

Movies directed by Lana Wachowski

MATCH (d:Person {name: "Lana Wachowski"})-[:DIRECTED]->(m)
RETURN m.title, m.released;

People who have acted together

MATCH (p1:Person)-[:ACTED_IN]->(m:Movie)<-[:ACTED_IN]-(p2:Person)
WHERE p1 <> p2
RETURN DISTINCT p1.name, p2.name, m.title
ORDER BY m.title;

Actor who have worked with Tom Hanks but not each other

MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coactor)
RETURN DISTINCT coactor.name;

Average release year to Tom Cruise movies

MATCH (p:Person {name:"Tom Cruise"})-[:ACTED_IN]->(m)
RETURN p.name, avg(m.released) AS avgReleaseYear;

The shortest Actor/Director path between Tom Hanks and Keanu Reeves

MATCH path = shortestPath(
  (a:Person {name:"Keanu Reeves"})-
  [:ACTED_IN|DIRECTED*]-
  (b:Person {name:"Tom Hanks"})
)
RETURN path;