我只是创建如下图:
(用户)-[:视图]->(产品)<-[:视图]-(用户)
以下是我的查询:
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值,并且我不知道哪里出了错
谢谢
答案 0 :(得分:0)
此查询需要完成更多的步骤。例如:
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子句。