如何编写匹配双向关系图模式的有效MATCH语句?
修正后的Cypher匹配语句
原语句报错的核心原因是重复使用了关系标识符e1,Cypher规则明确要求同一MATCH语句内的所有节点、关系标识符必须唯一,不能重复定义。
可以将语句调整为以下两种简洁且有效的写法:
写法一:拆分独立模式
MATCH (a)-[e1:trans]->(b), (b)-[e2:trans]->(c), (c)-[e3:trans]->(b) RETURN a,b,c,e1,e2,e3
写法二:保留部分链式结构
MATCH (a)-[e1:trans]->(b)-[e2:trans]->(c), (c)-[e3:trans]->(b) RETURN a,b,c,e1,e2,e3
两种写法都能正确匹配目标模式:a到b存在trans关系,b到c存在trans关系,同时c到b也存在trans关系,且所有标识符唯一,不会触发重复定义错误。
内容的提问来源于stack exchange,提问作者idelle
相关产品推荐
相关产品推荐

