NEO4J использование массива или коллекции в качестве параметра в запросе 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'"
Я действительно думал, что последний будет работать, но я думаю, что параметр заменяется как одна строка, т. е. ["Джо удар", "удар Джо"], а не ["Джо удар", "удар Джо"]. Я доказал это, передав одно значение, и это сработало. Я попытался отследить код, но заблудился в scala.
любые другие варианты, мысли?
Ура
1 ответов
он должен работать лучше, если вы удалите квадратные скобки после ключевого слова IN и используете коллекцию в качестве параметра.
START person=node:persons('Name:*')
MATCH person->[:Girl]->friend
WHERE person.Name IN {Names} AND friend.Hair = 'Blond'
RETURN person.Name, friend.Name