通过Spring Boot在Neo4j查询中使用带有参数的kleene star

时间:2018-09-02 15:56:40

标签: neo4j spring-data-neo4j

我想查询类似

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

其中n是一些参数。尝试通过spring boot作为

执行此操作

"match (x: Person {name: {name: "Adam"}}), (x)-[:friend *..{distance}]-(y) return y",我有一个@Param(“ name”),@ Param(“ distance”)...告诉我

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

我不明白我该怎么做?

1 个答案:

答案 0 :(得分:1)

目前,您不能使用参数作为图案的长度。或者,您可以使用java.text.MessageFormat

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