如何在spring中为neo4j编写动态查询?

如何在spring中为neo4j编写动态查询?,neo4j,spring-data-neo4j,Neo4j,Spring Data Neo4j,我正在实施关系搜索。我将把关系类型列表作为参数,并且我还希望使用节点的属性进行查询 Example : In neo4j, assume that I have following nodes and relationships. node (name:"a") - like - node(name:"b") node (name:"a") - follow - node(name:"c") node (name:"a") - follow -node(name:"e") node(name:"

我正在实施关系搜索。我将把关系类型列表作为参数,并且我还希望使用节点的属性进行查询

Example :
In neo4j, assume that I have following nodes and relationships.
node (name:"a") - like - node(name:"b")
node (name:"a") - follow - node(name:"c")
node (name:"a") - follow -node(name:"e")
node(name:"a") - like- node(name:"d")
node (name:"s") - like - node(name:"b")
node (name:"s") - follow - node(name:"g")
node (name:"s") - follow -node(name:"e")
node(name:"s") - like- node(name:"v")
对于搜索,我将传递关系类型列表

示例查询:查找喜欢名为“b”的节点并跟随名为“c”的节点的节点 结果应该是名为“a”的节点

但like和follow查询将是动态的。(任意数量)
如何在spring中编写这样的查询?

使用
Neo4jTemplate
或 将它作为方法添加到实体的存储库中,例如,
UserRepository
(这样它在结构上是静态的,在参数上是动态的)


您还可以从CYPSURDSLRepository扩展存储库接口,以执行动态CYPSURDSL查询。

非常感谢。我指的是密码作弊表,我发现我可以做或操作只做匹配,但我不知道我可以这样做和操作。我感谢你的帮助。
MATCH (u:User {name:{user}})-[:LIKES]->(t:Thing {name:{thing}}),
      (u:User {name:{user}})-[:FOLLOWS]->(f:User {name:{friend}})
RETURN u;