我正在尝试调用一个cypher查询(在java中)传入参数来做类似的事情:
WHERE node.property IN [{param}]
完整示例:
START person=node:persons('Name:*')
MATCH person->[:Girl]->friend
WHERE person.Name IN [{Names}] AND friend.Hair = 'Blond'
RETURN person.Name, friend.Name
对于我尝试使用以下参数的参数:
我真的认为最后一个会起作用,但我认为参数被替换为单个字符串,即[“'Joe Blow','Blow Joe'”]而不是['Joe Blow','Blow Joe'] 。我通过传递一个值证明了这一点,这是有效的。 我试过跟踪代码,但在scala中迷失了。
还有其他选择吗?
干杯
答案 0 :(得分:10)
如果删除IN关键字后的方括号,并使用集合作为参数,它应该会更好。
START person=node:persons('Name:*')
MATCH person->[:Girl]->friend
WHERE person.Name IN {Names} AND friend.Hair = 'Blond'
RETURN person.Name, friend.Name