startNode(relationship), endNode(relationship)
它将给出给定关系的节点的开始和结束。
match p=(n1 {Identifier:<id>})-[:r1|r2*2]-(n2) unwind relationships(p) as rel return distinct startNode(rel) as n1, type(rel), endNode(rel) as n2
如果我不指定startNode或endNode,我将得到实际上彼此未连接的额外节点。
目前我有:
var data = client.Cypher.Match("(n1)")
.Where((Node n1) => n1.Identifier == identifier)
.OptionalMatch("p=(n1)-[:r1|r1*2"]-(n2)")
.Unwind("relationships(p)", "rel")
.ReturnDistinct((n1, rel, n2) => new
{
startNode = n1.As<Node<string>>(),
endNode = n2.As<Node<string>>(),
relationship = rel.As<RelationshipInstance<object>>()
}).Results;
不
通过执行startNode和endNode函数,我得到了实际上没有相互连接的额外节点关系