-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAssign02_prob3.py
More file actions
37 lines (28 loc) · 1.16 KB
/
Assign02_prob3.py
File metadata and controls
37 lines (28 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#Problem 3. Find a list of actors playing in movies in which Keanu Reeves played.
#Find directors of movies in which K. Reeves played. Please use any programming
#language of your convenience. Verify your results using Cypher queries in Cypher Browser
#import libraries
from neo4j.v1 import GraphDatabase, basic_auth
#conn to neo4j instance
driver = GraphDatabase.driver("bolt://localhost:7687",auth=basic_auth("neo4j", "neo4j2"))
#run creation queries: actors in same films as Keanue Reeves
session = driver.session()
result = session.run("""
MATCH (k:Actor) WHERE k.name = "Keanu Reeves"
MATCH (a:Actor) WHERE [k:ACTED_IN] and a<>k return a.name as name
""")
#print actors
print "List of actors that played in same movies as Keanue Reeves:"
for record in result:
print("%s" % (record["name"]))
#run creation queries: directors in same films as Keanue Reeves
result = session.run("""
MATCH (k:Actor) WHERE k.name = "Keanu Reeves"
MATCH (d:Director) WHERE [k:ACTED_IN] return d.name as name
""")
#print directors
print "List of directors that directed Keanue Reeves:"
for record in result:
print("%s" % (record["name"]))
#close session
session.close()