我想进入neo4j中给定节点的进/出度。一种方法是使用以下查询:
MATCH (u: Node{ name: 'Node 1' })-[]->(v) RETURN count(v);
这需要查找u
的关系。
其他方法是在插入节点时不断更新节点的度数,然后我们只需找到节点即可获得度数。
我们是否必须自己维护或neo4j管理它,以便我们只需找到节点即可获得学位。 我想通过cypher查询或python驱动程序来完成它。
答案 0 :(得分:3)
是的,size()
函数相当于节点上的java getDegree()
方法,并且是O(1)操作:
返回传入和传出:
MATCH (u: Node{ name: 'Node 1' })
RETURN size((u)-->()) AS degreeOut,
size((u)<--()) as degreeIn
如果您想要特定的关系类型,这也是等效的:
MATCH (u: Node{ name: 'Node 1' })
RETURN size((u)-[:FOLLOWS]->()) AS followingCount