Only with unique constraints, merge takes a global lock on the label + property.
Michael Am 10.02.2014 um 12:17 schrieb Aran Mulholland <[email protected]>: > Why do you need the unique constraint? > > > On Mon, Feb 10, 2014 at 9:52 PM, Michael Hunger > <[email protected]> wrote: > I think you have to change it to use merge which takes a schema index lock. > > ie. > > create constraint on (h:HEAD) assert h.list is unique; > >> MERGE (headNode:HEAD {list:"mylist"}) > MATCH (headNode)-[old:LINK]->after >> DELETE old >> CREATE headNode-[:LINK]->(newNode:LINKNODE { number : {nodeNumber} >> })-[:LINK]->after > > > > HTH > > Michael > > Am 10.02.2014 um 11:30 schrieb Aran Mulholland <[email protected]>: > >> I've got some real headaches inserting into linked lists. >> >> If I create a node as such: >> >> CREATE (headNode:HEAD)-[:LINK]->(headNode) >> >> then insert like so >> >> MATCH (headNode:HEAD)-[old:LINK]->after >> DELETE old >> CREATE headNode-[:LINK]->(newNode:LINKNODE { number : {nodeNumber} >> })-[:LINK]->after >> >> then everything is fine and dandy. But when I try to run the insertion code >> in parallel, then I get some real issues. I either get an error like >> "Relationship 325457 not found" or I get two or more lists coming off the >> headNode. The first error I can deal with as I can rerun the query, the >> second is totally unacceptable as my other queries get very messed up >> results. >> >> I am writing for a twitter like service and am using the linked lists so I >> can have a news feed. There is a high possibility that the list will need to >> be added to by more than one user at once, and this chance will grow the >> more users the system has. >> >> What I want to be able to do is put a lock around the insertion so that this >> does not happen. >> >> How can I better craft my queries so that parallel insertion via cypher over >> REST is sustainable? >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Neo4j" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/groups/opt_out. > > > -- > You received this message because you are subscribed to the Google Groups > "Neo4j" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- > You received this message because you are subscribed to the Google Groups > "Neo4j" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
