Neo4j Cypher:每个节点没有关系

时间:2015-07-27 13:36:11

标签: neo4j cypher

找到每个用户/节点的边/关系的密码是什么? 我想为每个用户返回该计数。

3 个答案:

答案 0 :(得分:2)

最快的方式,在内部使用node.getDegree。

您也可以通过方向和关系类型分离rel模式。

MATCH (n:User)
RETURN n, size((n)--()) as degree

答案 1 :(得分:1)

一般答案是

MATCH (n)-[r]-()
RETURN n, COUNT(r)

但是您可能想要制作这种模式的几种规格。如果您有其他节点而不是用户,您可能希望通过提供查询并查询标签来限制查询。您可能还希望仅计算特定类型的关系或仅计算特定方向,因此您还要添加模式的这些部分。

如果您的用户是人,并且您想要查询每个用户在电话上呼叫其他用户的次数,则查询可能会显示为

MATCH (n:Users)-[r:CALLED]->(:User)
RETURN n.name as user , COUNT(r) as phone_calls_made

如果仅在用户之间获得[:CALLED]关系,则可以在第一行中删除第二个:User标签。

答案 2 :(得分:1)

匹配User和所有关系,并返回count

MATCH (n:User)
OPTIONAL MATCH (n)-[r]-()
RETURN n, count(DISTINCT r)