I am running neo4j batch query where I have a bunch of nodes that are already in db and are having two relations with the target node. The relations are like this
Target_Node- [is_followed_by]->Friend_Node
Target_Node- [is_friend_with]->Friend_Node
I want to add one more relation [activity_p] between target and friend node. I am having friends node data which I do send in threads (20 in each thread) but when I run my query I get this error
py2neo.database.status.TransientError: ForsetiClient[334] can't acquire ExclusiveLock{owner=ForsetiClient[333]} on NODE(1300036), because holders of that lock are waiting for ForsetiClient[334]
l is the json of friend nodes; user is the target user
"""UNWIND [{id: '""" + id + """' , uid : toInt('""" + str(uid) + """')}] as user
UNWIND """+ l +""" as c
OPTIONAL MATCH (n:Target {id : c.id , uid : toInt('""" + str(uid) + """'),type:"0"})
OPTIONAL MATCH (m:Friend {id : c.id , screen_name:c.screen_name, uid : toInt('""" + str(uid) + """'),type:"0"})
WITH coalesce(n, m) as node,user,c // returns first non-null value
CALL apoc.do.when(node is null, "MERGE (n:Friend {id:c.id, name:c.name, profile: c.profile, type:c.type}) RETURN n", '', {c:c,user:user}) YIELD value
with coalesce(node, value.n) as y,user,c
MERGE (u:""" + label + """ {id: user.id , uid : user.uid})
"""+create_rel+"""
foreach (sc in c.cityn | merge(cn:Location {location:sc.location, loc_lower : sc.loc_lower}) merge (y)-[:`located_at`]-(cn))
"""
Any help will be appreciated..