使用Neo4j C#Client返回多个父节点的子节点

时间:2017-05-10 21:48:32

标签: c# .net neo4j graph-databases neo4jclient

编辑:  我的图包含两种节点类型:PARENT和CHILD。关系可以是父母< -PARENT,PARENT< -CHILD

首先,我将获得图表中所有父母的所有头衔。

var query= client.Cypher
                 .Match("(parent:PARENT)")
                 .Return((parent) => parent.As<PARENT>().Title)
                 .Results.ToList();

    List<string> titlesofallParents= new List<string>();
    foreach (var item in query)
    {
        titlesofallParents.Add(item);
    }

然后我试图在titlesofallParents列表中找到属于每个节点的所有子节点,如下所示:

var q1= client.Cypher
          .Unwind(titlesofallParents,"titleItem")
          .Match("(p:PARENT{Title: titleItem})<-[*]-(u)")
          .Return((p, u) => new { R = p.As<Node<string>>(), N = u.As<Node<string>>()});
var results = q1.Results.ToList();

我正在尝试使用unwind来获取每一行的标题,然后找到它的子项并返回我们运行查询的所有行的结果集。如果我只使用列表中的一个项目,它就可以了。对于列表中的多个项目,我不断收到异常“对象引用未设置为对象的实例”。

有人可以在这里建议一个正确的方法吗?

0 个答案:

没有答案