Я знаю, что это довольно поздний ответ, и вы нашли ответ самостоятельно.
Просто хочу поделиться своим способом использования cypher-запроса в python. Надеюсь, это может пригодиться кому-то в будущем.
Если вы не против связать параметры с их порядком, вы можете использовать следующий способ:
createCypher = "CREATE (n:Author {name : %s, firstName : %s, lastName : %s, initials : %s })"
name = "Apel"
firstName = "Jan"
lastName = "Apel"
initials = ""
cur.execute (createCypher, (name, firstName, lastName, initials, ))
Однако, если вы хотите указать местоположение параметра с помощью ключа диктовки, я считаю, что построение строки запроса с форматом - единственный способ:
createCypher = "CREATE (n:SUBJECT {{name :'{name}', firstName: '{firstName}', lastName : '{lastName}', initials : '{initials}' }})"
param = {}
param["name"] = "Apel2"
param["firstName"] = "Jan2"
param["lastName"] = "Apel2"
param["initials"] = ""
cur.execute(createCypher2.format(**param))
Обе работы находят для меня.