返回密码中的映射对象



我需要在一组节点之间创建边,但不能保证边不存在,我需要知道已经创建了哪些边,这样我就可以增加两个连接节点的边计数器。

我想知道每个节点的边数,而不需要每次都查询图形。

示例:

MERGE (u:user {id:999049043279872})
MERGE (g1:group {id:346709075951616})
MERGE (g2:group {id:346709075951617})
MERGE (g1)-[m1:member]->(u)
MERGE (g2)-[m2:member]->(u)

有时用户已经是该组的成员,所以在这种情况下我不想增加计数器。

我尝试使用结果统计信息,但它只返回创建的关系编号,我还考虑过使用映射,然后在MERGE:之后使用ON CREATE SET填充内容

WITH {g1:0, g2:0} as res
MERGE (u:user {id:999049043279872})
MERGE (g1:group {id:346709075951616})
MERGE (g2:group {id:346709075951617})
MERGE (g1)-[m1:member]->(u)
ON CREATE SET res.g1 = 1
MERGE (g2)-[m2:member]->(u)
ON CREATE SET res.g2 = 1
RETURN res

但它不起作用;服务器在执行查询后立即崩溃。

例外:

------快速内存测试------
17235:M 2022年2月28日16:56:50.016#主线程终止
172 35:M 2020年2月8日16:56:50.017#作业类型#0的生物线程终止
17235:M 2022年2日28日16:56-50.017#任务类型#1的生物线程结束
2022年2月份28日17235_M 16:56:550.018#作业类型#2的生物线程已终止

快速记忆测试通过,但你的记忆仍然可能被破坏
如果可能的话,请运行几个小时的内存测试。

------EIP周围的转储代码------
符号:(null((基:(nil((
模块:/lib/x86_64-linux-gnu/libc.so.6(基0x7fbfe3dcc000(
$xxd-r-p/tmp/dump.hex/tmp/dmp.bin
$objdump--调整vma=(nil"-D-b二进制-m i386:x86-64/tmp/dump.bin

===REDIS错误报告结束。确保包括从开始到结束。===

请在github:上打开问题报告崩溃

http://github.com/redis/redis/issues

怀疑RAM错误?使用redis服务器——测试内存来验证它。

分段故障

有什么想法吗?

提前感谢

Neo4j已经在每个节点内存储了一个计数器,用于计算关系的数量并提供快速计数访问。当你想得到一个小组的成员数量时,你可以简单地做:

MATCH (g:group)
return size((g)<-[:member]-())

最新更新