我正在尝试调用密码查询(在 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'"] 而不是 ['Joe Blow', 'Blow Joe'] .我通过传入一个值证明了这一点,并且有效。 我尝试跟踪代码,但在 scala 中迷路了。
还有其他选择、想法吗?
干杯
最佳答案
如果去掉 IN 关键字后面的方括号,使用集合作为参数,效果会更好。
START person=node:persons('Name:*')
MATCH person->[:Girl]->friend
WHERE person.Name IN {Names} AND friend.Hair = 'Blond'
RETURN person.Name, friend.Name
关于java - NEO4J 在密码查询中使用数组或集合作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13644847/