gpt4 book ai didi

neo4j - neo4j 密码

转载 作者:行者123 更新时间:2023-12-03 15:12:58 28 4
gpt4 key购买 nike

我试图创建两个可选匹配项的并集(如下所示),但我得到的不是并集,而是两者的交集。我应该如何更改此查询以获得所需的联合?

optional match (a:PA)-[r2:network*2]-(b:PA) where a.last_name='smith'      
And Not (a:PA)-[:network]-(b:PA)
optional match (a:PA)-[r3:network*3]-(b:PA) where a.last_name='smith'
And Not (a:PA)-[:network]-(b:PA)
return b.first_name, count(r2), count(r3)

这个图形数据库应该模拟一个社交网络。通过第一个可选匹配,我试图找到用户(史密斯)网络中的二级连接以及它们在他的网络中作为二级连接出现的次数。第二个匹配项对 3 度连接执行相同的操作。

但是查询返回的是 2 个可选匹配项的交集而不是它们的并集,即我只计算那些可以映射为 2 度和 3 度连接的名称用户(史密斯)。

相反,我想获得所有 2 度和 3 度连接的名称以及计数。我应如何修改此查询以获得所需的结果?

最佳答案

我认为在你的情况下不需要联合:

match path = (a:PA {last_name: 'smith'})-[r2:network*2..3]-(b:PA) 
where not (a:PA)-[:network]-(b:PA)
with b.first_name as name,
CASE WHEN length(path) = 2 THEN 1 ELSE 0 END as deg2
CASE WHEN length(path) = 3 THEN 1 ELSE 0 END as deg3
RETURN name, sum(deg2), sum(deg3)

关于neo4j - neo4j 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41574466/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com