I've been having the same issue lately, and after reading through the source code provided in the documentation, I've come to the conclusion that the py2neo is wrong with it says that "multiple keys may be specified by using a tuple" as no matter which merge()
you call (mostly because they're almost the same, except Graph.merge
uses Transaction
's autocommit value) it only allows 1 key and doesn't like the tuple type.
As an alternative, you can use a py2neo function that directly executes a Cypher MERGE
query to include whatever nodes you're trying to create/merge (ex. Graph.run("MERGE (:Node {...})")
). Unfortunately this doesn't really solve the issue, but this might not be in our hands.