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

Memgraph表达式模式使用报错:如何执行指定匹配查询?

解决Memgraph中"NOT (n)-[]->(:NodeB)"查询报错的问题

Memgraph目前不支持在WHERE子句中直接使用NOT加模式表达式的语法,你可以用以下两种等价方式实现需求:

方法1:使用NOT EXISTS()子句

将原模式包裹在EXISTS()函数中,通过NOT否定存在性:

MATCH (n:NodeA)
WHERE NOT EXISTS((n)-[]->(:NodeB))
RETURN n;

方法2:使用OPTIONAL MATCH结合NULL判断

通过OPTIONAL MATCH尝试匹配关系,过滤掉匹配到节点的情况(即无匹配时节点为NULL):

MATCH (n:NodeA)
OPTIONAL MATCH (n)-[]->(b:NodeB)
WHERE b IS NULL
RETURN n;

这两种写法都能实现“找出所有没有指向NodeB节点的NodeA节点”的需求,且符合Memgraph的Cypher语法规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 10:50:26