The error is associated with this line
User_Publication,text= graph_db.create(...
you are expecting a two-tuple from the result but you are getting more than that.
I don't know anything about Neo4j but from here it seems you get out the same number of items you put in. If so then you should expect a four-element tuple.
# create two nodes with a connecting relationship alice, bob, rel = graph_db.create( {"name": "Alice"}, {"name": "Bob"}, (0, "KNOWS", 1, {"since": 2006}) )
So this would fix your problem
User_Publication, text, var3, var4 = graph_db.create(...
It looks like this will happen again later in your code. Items will be returned for the relationships as well as for the nodes.