如何使用Spring Boot获取节点链(Neo4j)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Spring Boot获取节点链(Neo4j)相关的知识,希望对你有一定的参考价值。

我有几个NodeEntity类,它们彼此之间有关系:

@NodeEntity
data class Person(
        ...
        @Relationship(type = "OWNS")
        var places: MutableSet<Place> = HashSet(),
)

@NodeEntity
data class Place(
        ...

        @Relationship(type = "OWNS")
        var rooms: MutableSet<Room> = HashSet()
)

@NodeEntity
data class Room(...)

另外,我使用Neo4jRepository来处理数据库。

例如,我有一个人有一个地方有两个房间。当我到达一个地方时,我可以看到这些房间。但是,当我找到一个人时,我只会看到一个空座而不是房间的地方。

为什么会这样?原来Neo4j只返回一个关系?

我应该用@Query覆盖一些Neo4jRepository方法吗?

答案

从数据库中读取时,neoj4有一个深度概念,它表示读取时要遍历的关系数。要读取更多节点,请增加depth参数的值。

以上是关于如何使用Spring Boot获取节点链(Neo4j)的主要内容,如果未能解决你的问题,请参考以下文章

Neo4j/GraphQL - 获取链表中的最后一个节点,以便使用新创建的节点继续链表

使用 Spring Boot 和 Neo4j 通过 REST API 插入实体时出错

spring boot 2.0 neo4j 使用

使用 Spring Boot 和嵌入式驱动程序测试 Neo4j

如何从 Neo4j Graph 中获取每个节点的不同中心性索引?

Spring Neo4j:无法使用id保存节点