编辑: 我的图包含两种节点类型: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来获取每一行的标题,然后找到它的子项并返回我们运行查询的所有行的结果集。如果我只使用列表中的一个项目,它就可以了。对于列表中的多个项目,我不断收到异常“对象引用未设置为对象的实例”。
有人可以在这里建议一个正确的方法吗?