我需要根据关系获取节点的统计信息。例如,如果我有一个节点“名人”有三种类型的关系:FAN_OF,FRIEND_OF和RELATIVE_OF如何只用一个查询获得粉丝,朋友和亲戚的数量?我知道如何单独使用每种关系类型,但我需要在一个查询中将它们全部返回。
答案 0 :(得分:4)
如果我理解你的问题是什么,这应该让你接近:
START n=node(*)
MATCH n-[r]->m
RETURN n, TYPE(r), COUNT(m)
然后,您可以将匹配关系限制为您的类型(尽管样本中不存在这些关系):
START n=node(*)
MATCH n-[r:FAN_OF|FRIEND_OF|RELATIVE_OF]->m
RETURN n, TYPE(r), COUNT(m)
查看并在此处使用它:http://console.neo4j.org/?id=nbba2s
答案 1 :(得分:2)
也许这样的事情会让你开始。如果你发布一些示例图数据会很有帮助,特别是在console.neo4j.org上,这样我们就可以测试出来了。
start c=node(...)
match c<-[:FAN_OF]-fan, c-[:FRIEND_OF]-friend, c-[:RELATIVE_OF]-r
return c, count(distinct fan) as fancount, count(distinct friend) as friendcount, count(distinct r) as relativecount