加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:47:20 所属栏目:Java 来源:网络整理
导读:我试图调用一个cypher查询(在 java中)传递参数来做类似的事情: WHERE node.property IN [{param}] 完整示例: START person=node:persons('Name:*')MATCH person-[:Girl]-friendWHERE person.Name IN [{Names}] AND friend.Hair = 'Blond'RETURN person.Nam
我试图调用一个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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读