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