繁体   English   中英

在1个密码查询中从2个边获取关系节点

[英]Get relationship node from 2 edges in 1 cypher query

我需要一个密码查询,可同时检索两个边缘的权重。 这是我的尝试:

MATCH (n:User)-[r:VIEWED|UPDATED]->(f:File) WHERE f.id IN 'some_id','another_id'] RETURN n, r.weight, ORDER BY r.weight DESC 

对于每个更新和查看文件的用户,结果包含两行。 但是,我希望结果在一行中。 例如:用户:x-更新时间:12-浏览次数:15

我怎样才能做到这一点?

MATCH (n:User)-[r:VIEWED|UPDATED]->(f:File) 
WHERE f.id IN ['some_id','another_id'] 
RETURN n, collect(type(r)), collect(r.weight)

更新:

尝试:

MATCH (f:File)
OPTIONAL MATCH (n:User)-[r1:VIEWED]->(f:File)
    OPTIONAL MATCH (n:User)-[r2:UPDATED]->(f:File)
    where f.id IN ['some_id','another_id']
  return n, 
  sum(r1.weight) as totalViewedWeight, 
  sum(r2.weight) as totalUpdatedWeight

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM