Spring-Neo4j关系级

Spring-Neo4j关系级,neo4j,spring-data-neo4j,Neo4j,Spring Data Neo4j,假设我正在Neo4j上实现用户朋友关系。我正在使用spring-neo4j进行建模 用户作为朋友彼此相关。我们可以带用户成为朋友,这是一级关系。在Neo4J中,有没有一种方法可以交到属于二级关系和三级关系的朋友,尤其是spring-Neo4J 谢谢大家! 编辑: 关系级别可以动态给定吗?我有一个能在各个层次上找到每个人的作品 MATCH u1-[:friend*]->(u2) WHERE u1.userId IN ["userId1"] RETURN u2 我编辑

假设我正在
Neo4j
上实现用户朋友关系。我正在使用
spring-neo4j
进行建模

用户作为朋友彼此相关。我们可以带用户成为朋友,这是
一级关系
。在
Neo4J
中,有没有一种方法可以交到属于
二级关系
三级关系
的朋友,尤其是
spring-Neo4J

谢谢大家!

编辑: 关系级别可以动态给定吗?我有一个能在各个层次上找到每个人的作品

MATCH u1-[:friend*]->(u2) 
WHERE u1.userId IN ["userId1"] 
RETURN u2

我编辑过的问题是,我能给出一个关系级别并得到结果吗。例如,我给2,并试图获得第二级的朋友。如果我给了3,它将返回3级朋友。这是动态给出的吗?

不确定这里的具体问题是什么,但这是如何使用spring-data-neo4j实现的

@NodeEntity
public class User
{
 @RelatedTo(type="FRIEND")
 Set<User> friends;

 private Iterable<Person> friends;

  @Query(value = "start n=node({self}) match (u)-[r]->(friend)-[r]->(friendOfFriend) where   r.type = 'FRIEND' return friendOfFriend")
 Iterable<User> friendsOfFriends;
}
@NodeEntity
公共类用户
{
@与(type=“FRIEND”)相关
结交朋友;
私人朋友;
@查询(value=“start n=node({self})匹配(u)-[r]->(friend)-[r]->(friendOfriend),其中r.type='friend'返回friendOfriend”)
值得信赖的朋友;
}

我问题的编辑部分是:

MATCH u1-[:friend*relationLevel]->(u2) 
WHERE u1.userId IN ["userId1"] 
RETURN u2
relationLevel
是我想要的级别。若为2,则结果仅适用于二级关系

可能是在春天

@Query("start user1=node({0}) match (user1)-[r:friend*{1}]->(user2) where has(user2.userId) return user2.userId")
Iterable<String> getRelatedUserIdsByRelationLevel(GraphUser graphUser,int relationLevel);
@Query(“start user1=node({0})match(user1)-[r:friend*{1}]>(user2)where has(user2.userId)return user2.userId”)
Iterable getRelatedUserIdsByRelationLevel(GraphUser-GraphUser,int-relationLevel);

我编辑了问题,你能检查一下吗?你有编辑部分的答案吗?我找到了我要找的。