You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Memgraph中查询存在多条并行连接的设备

查找Memgraph中存在指定数量并行链路的设备对

要筛选出存在多条并行连接的设备对,你可以通过统计设备间的接口连接数来实现。以下是针对需求的查询语句:

// 可修改WHERE条件中的数字,指定需要的并行链路数量
MATCH (d1:Device)-[:IS_IN]-(if1:Interface)-[:CONNECTED]-(if2:Interface)-[:IS_IN]-(d2:Device)
WHERE id(d1) < id(d2)  // 避免重复统计同一设备对(如d1-d2和d2-d1)
WITH d1, d2, COUNT(DISTINCT if1) AS link_count
WHERE link_count >= 2  // 这里设置需要的并行链路数量
RETURN d1.name AS device1, d2.name AS device2, link_count
ORDER BY link_count DESC;

语句说明:

  • MATCH 子句:匹配设备-接口-连接-接口-设备的完整路径,覆盖所有接口连接关系
  • WHERE id(d1) < id(d2):通过节点ID的大小比较,确保同一对设备只被统计一次,避免重复结果
  • COUNT(DISTINCT if1):统计两个设备之间的独立接口连接数,也就是并行链路的数量(每条链路对应一对接口)
  • 最后通过link_count >= 2筛选出符合要求的设备对,你可以根据需求修改这个数值

补充:数据创建语句的小问题

当前的数据创建代码有两处需要修正,否则无法生成有效并行链路:

  1. 创建d2时变量名重复:应把CREATE (d1:Device {name: 'd2', id:3})改为CREATE (d2:Device {name: 'd2', id:3}),避免覆盖d1变量
  2. 连接接口时匹配的ID不存在:MATCH (if1:Interface {id:3})里的id:3没有对应的接口,需改成已创建的接口ID(比如2和4)才能生成有效连接

内容的提问来源于stack exchange,提问作者Francisco Sedano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 23:33:13