Not sure if this is the issue you're having, but when I tried your sample, I got errors on the [name=] syntax. What's being passed to the node() constructor is a dictionary. There are multiple syntax for the node() constructor, and I didn't see a syntax that matches the one your using. So, try using dictionary syntax like this:
node({"name": "Bruce Willis"})
Also, I'm not sure if you've configured a default neo4j url, but I had to specify a connection point url in my new4j.GraphDatabaseService() call.
So, your code would look like:
from pprint import pprint
from py2neo import neo4j, node, rel
graph_db = neo4j.GraphDatabaseService('http://localhost:7474/db/data')
def insert_data():
die_hard = graph_db.create(
node({"name": "Bruce Willis"}),
node({"name": "John McClane"}),
node({"name": "Alan Rickman"}),
node({"name": "Hans Gruber"}),
node({"name": "Nakatomi Plaza"}),
rel(0, "PLAYS", 1),
rel(2, "PLAYS", 3),
rel(1, "VISITS", 4),
rel(3, "STEALS_FROM", 4),
rel(1, "KILLS", 3),)
pprint(die_hard)
insert_data()