6

我正在尝试调用传递参数的密码查询(在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

对于我尝试使用以下参数的参数:

  1. 包含字符串的集合
  2. 包含字符串的数组
  3. 分隔字符串,例如“'Joe Blow', 'Blow Joe'”

我真的认为最后一个会起作用,但我认为参数被替换为单个字符串,即 ["'Joe Blow', 'Blow Joe'"] 而不是 ['Joe Blow', 'Blow Joe']。我通过传入一个值证明了这一点,并且奏效了。我尝试跟踪代码,但在 scala 中迷路了。

还有其他选择吗?

干杯

4

1 回答 1

11

如果删除 IN 关键字后的方括号,并使用集合作为参数,它应该会更好。

START person=node:persons('Name:*')
MATCH person->[:Girl]->friend
WHERE person.Name IN {Names} AND friend.Hair = 'Blond'
RETURN person.Name, friend.Name
于 2012-11-30T14:08:12.740 回答