在neo4j 1.9.7中,有没有办法做一个只返回基数为1的传出关系的密码查询?
e.g
N2 ----> N4 -----> N10
| |-------> N9
|
|------> N5 -----> N9
|
|------> N6 -----> N9
在这样的结构中,我想遍历节点并返回仅具有一个传出关系的节点(在示例中为N5和N6)。
我可以使用IteratorUtil类使用Java API来获取计数
Node process = db.getNodeById(2);
for(Relationship rel : process.getRelationships(Direction.OUTGOING))
{
Node appProcess = rel.getOtherNode(process);
if(IteratorUtil.count(appProcess.getRelationships(Direction.OUTGOING).iterator()) == 1)
{
System.out.println(appProcess.getId()+" is a vital process");
count++;
}
}
我想在Cypher做同样的事。
答案 0 :(得分:3)
不确定这是否有效,而且我目前还没有1.9跑,但过去这样做了。
START n=node(2)
MATCH (n)-->(m)
WHERE length((m)-->()) = 1
RETURN m