график моих отношений, как показано ниже
Использование MATCH (n:Person {name:'1'})-[]-()-[r]-(m) RETURN m,r
вернет "4" и "5", но не может получить связь между "4" и "5" , на самом деле, "4" следуют за "5", "r" просто представляют друзья 4 (4 -> 2) и 5 (5 -> 3).
Весной данные neo4j
domain.java
@NodeEntity(label = "Person")
public class PersonTest {
@Id
private Long id;
@Property(name = "name")
private String name;
@Relationship(type = "Follow") //direction=Relationship.DIRECTION
private List<PersonTest> friends;
Repository.java
public interface PersonRepository extends Neo4jRepository<PersonTest,Long> {
@Query("MATCH (n:Person {name:{name}})-[]-()-[r]-(m) RETURN m,r")
Collection<PersonTest> graph(@Param("name") String name);
}
Service.java
Collection<PersonTest> persons = personRepository.graph(name);
Iterator<PersonTest> result = persons.iterator();
while (result.hasNext()) {
for (PersonTest friend : p.getFriends()) {
//........here will get 2 and 3!
}
}
Как решить эту проблему? Получить связь между "4" и "5".