Neo4j计数和顺序与节点列表的关系
我有一张人物和物品的图表。这种关系是一对多的Neo4j计数和顺序与节点列表的关系,neo4j,cypher,Neo4j,Cypher,我有一张人物和物品的图表。这种关系是一对多的(a:Person)-[:has]->(b:Item)。对于项目的输入列表,我尝试获取拥有该项目的人员列表,按列表中项目最多的人排序 在上图中,我希望得到如下输出: [{"Person 1", count: 3},{"Person 2", count: 2},{"Person 3", count: 1}] 我尝试了以下几种变体: 匹配(a:个人) 匹配(b:项目),其中b.标签位于[“项目1”、“项目2”、“项目3”] 返回a,count((a)-
(a:Person)-[:has]->(b:Item)
。对于项目的输入列表,我尝试获取拥有该项目的人员列表,按列表中项目最多的人排序
在上图中,我希望得到如下输出:
[{"Person 1", count: 3},{"Person 2", count: 2},{"Person 3", count: 1}]
我尝试了以下几种变体:
匹配(a:个人)
匹配(b:项目),其中b.标签位于[“项目1”、“项目2”、“项目3”]
返回a,count((a)-[:has]->(b))
及
match(n:Item)返回n,size((n)-->())作为计数
其中计数是正确的,但当我尝试将项目缩小到列表时,计数是错误的。可能类似于:
MATCH (a:Person)-[:has]->(b:Item)
RETURN a, count(b) ORDER by count(b) DESC
也许是这样的:
MATCH (a:Person)-[:has]->(b:Item)
RETURN a, count(b) ORDER by count(b) DESC
我想我试过了,得到了一个错误,b是未定义的,但它似乎起作用了。我将测试更多的东西,并接受你的答案。我想我尝试了这个,并得到了一个错误,其中b是未定义的,但它似乎工作。我将测试更多的东西并接受你的答案。