# 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** ```cypher MATCH (m:Movie) WHERE m.released > 2000 RETURN m.title, m.released ORDER BY m.released DESC; ``` **Top 5 most common Actors** ```cypher 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** ```cypher MATCH (p:Person {name: "Tom Hanks"})-[:ACTED_IN]->(m:Movie) RETURN m.title, m.released; ``` **Movies directed by Lana Wachowski** ```cypher MATCH (d:Person {name: "Lana Wachowski"})-[:DIRECTED]->(m) RETURN m.title, m.released; ``` **People who have acted together** ```cypher 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** ```cypher MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coactor) RETURN DISTINCT coactor.name; ``` **Average release year to Tom Cruise movies** ```cypher 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** ```cypher MATCH path = shortestPath( (a:Person {name:"Keanu Reeves"})- [:ACTED_IN|DIRECTED*]- (b:Person {name:"Tom Hanks"}) ) RETURN path; ```