java – NEO4J使用数组或集合作为cypher查询中的参数

前端之家收集整理的这篇文章主要介绍了java – NEO4J使用数组或集合作为cypher查询中的参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图调用一个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’”]而不是[‘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相关文章