Использование kleene star с параметром в запросе neo4j с помощью весенней загрузки - PullRequest
0 голосов
/ 02 сентября 2018

Я хочу сделать запрос вроде

"match (x: Person {name: "Adam"}), (x)-[:friend *..n]-(y) return y"

Где n - некоторый параметр. Попытка выполнить это с помощью весенней загрузки как

"match (x: Person {name: {name: "Adam"}}), (x)-[:friend *..{distance}]-(y) return y" где у меня есть @Param ("имя"), @Param ("расстояние") ... это говорит мне

Parameter maps cannot be used in MATCH patterns (use a literal map instead, eg. "{id: {param}.id}")

Что я не могу понять, как я могу делать то, что я хочу?

1 Ответ

0 голосов
/ 02 сентября 2018

В данный момент вы не можете использовать параметр в качестве длины паттерна. В качестве альтернативы вы можете использовать java.text.MessageFormat:

int distance = 4;
String query = MessageFormat.format(
  "match (x: Person {name: {name: "Adam"}}), (x)-[:friend *..{0}]-(y) return y",
  distance);
...