如何使用Neo4j求和节点之间的权重



我只是创建了一个如下图:

(用户(-[:视图]->(产品(&lt-[:视图]-(用户(

下面是我的查询:

match (a:User{user_cd:'3151004'})-[r1:view_times]-()-[r2:view_times]-(b:User),
(a)-[ra:view_times]-(),(b)-[rb:view_times]-()
with sum(r1.count) as r1, sum(r2.count) as r2,sum(ra.count) as rac,sum(rb.count) as rbc,a,b
where r1/rac > 0.6 and r2/rbc >0.6
return a,b,rac,rbc,r1,r2

r1:连接a和b 上的(a(和(乘积(之间的权重

r2:连接a和b 上的(b(和(乘积(之间的权重

rac:连接到(a(的view_times属性的所有权重

rbc:连接到(b(的view_times属性的所有权重

但是我得到了错误的rac,rbc-vaule,我不知道哪里是错误的

感谢

这个查询需要用更多的阶段来完成。例如:

MATCH (ap1:Airport)<-[:FROM]-(r:Route)-[:TO]->(ap2:Airport)
WHERE id(ap1) <> id(ap2)
WITH ap1, ap2, COUNT(*) AS weight
CREATE (ap1)-[c:CONNECTED]->(ap2)
SET c.weight = weight

在这里,我计算在WITH子句中找到的模式的数量。在WITH子句之后,我可以添加第二个MATCH子句。

最新更新