如何查询Neo4j节点以及节点之间的关系?

如何查询Neo4j节点以及节点之间的关系?,neo4j,cypher,spring-data-neo4j,Neo4j,Cypher,Spring Data Neo4j,现在我有一个这样的图表: { "id": 360, "children": null, "name": "Arrays", "intro": "this is an intro" }, { "id": 300, "children": null, "name": "Java", "intro": "this is an intro" } 然后我想查询“SGJ”有哪些节点 但我得到的结果是这样的: { "id": 360,

现在我有一个这样的图表:

{
    "id": 360,
    "children": null,
    "name": "Arrays",
    "intro": "this is an intro"
},
{
    "id": 300,
    "children": null,
    "name": "Java",
    "intro": "this is an intro"
}

然后我想查询“SGJ”有哪些节点

但我得到的结果是这样的:

{
    "id": 360,
    "children": null,
    "name": "Arrays",
    "intro": "this is an intro"
},
{
    "id": 300,
    "children": null,
    "name": "Java",
    "intro": "this is an intro"
}
这些节点之间的关系刚刚消失,我希望我可以查询那些保持这种关系的节点,如下所示:

{
    "id": 360,
    "children": [
         {
            "id": 300,
            "children": null,
            "name": "Java",
            "intro": "this is an intro"
         }
     ],
    "name": "Arrays",
    "intro": "this is an intro"
}
以下是实体定义:

@Data
@NodeEntity
public class KNode {

    @GraphId
    Long id;
    @Relationship(type = "BELONGS_TO", direction = Relationship.INCOMING)
    List<KNode> children;
    private String name;
    private String intro;

}
@数据
@节点性
公共类旋钮{
@格拉希德
长id;
@关系(type=“归属”,方向=关系。传入)
列出儿童名单;
私有字符串名称;
私有字符串介绍;
}

有什么解决办法吗?谢谢。

您只是返回一个节点,而不是路径。请尝试以下请求之一,以同时返回子项和关系:

MATCH (n:User) -[R:MASTER]-> (k:KNode)
WHERE n.username={username}
OPIONAL MATCH p=(k)-[r]-(c)
RETURN p
或:

MATCH (n:User) -[R:MASTER]-> (k:KNode)
WHERE n.username={username}
WITH k
MATCH p=(k)-[r]-(c)
RETURN p