如何解决Neo4j密码汇总值计数
我返回的日期如下:
"Jonathan" | "Chicago" | 6 | ["Hot","Warm","Cold","Warm"]
第三列是第4列中值的计数。
我想从第4列的集合中提取值,然后根据这些值创建新列。我的预期输出将是:
Hot | Cold | Warm
,其中值1 | 3 | 2
代表每个值的计数。
我当前的查询是match (p)-[]->(c)-[]->(w) return distinct p.name,c.name,count(w),collect (w.weather)
我以为这很简单,但是我一生都无法解决。
解决方法
Cypher无法“透视”数据(如here所述)。这部分是因为它不支持动态地生成返回值的名称(例如,“冷”),而动态地支持它们,并且这些名称在{{1}中显示为“列”标头}和Text
可视化效果由neo4j浏览器提供。
但是,如果您知道只有3个可能的“天气”名称,则可以使用类似这样的查询,该查询将这些名称硬编码在Table
子句中:
RETURN
上面的查询有效地获取了一个城市(一次)(针对该城市中的所有人)的天气数据,而不是每个人一次。
APOC函数apoc.map.setKey是获取具有更新的键值的映射的便捷方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。