我正在尝试在neo4j / cypher中进行一些模式匹配,我遇到了这个问题:

我想搜索两种类型的图表:

  • 星图:具有一个中心节点和多个传出关系的图形 .

  • n长度折线图:长度为n的折线图,其中没有节点重复(我的图中有一些双向边和周期)

所以主要的问题是当我做一些事情时:

  • 匹配a - > b,a - > c,a - > d

  • 匹配a - > b - > c - > d

Cypher不保证(当我尝试它时)a,b,c和d都是不同的节点 . 对于小图表,可以轻松修复

哪里没有(a = b)而不是(a = c)AND ...

但我正在尝试使用大小为10的图形,因此检查所有节点之间的相等性是不可行的选择 . Afaik,RETURN DISTINCT不能正常工作,因为它不会检查变量之间的相等性,只能跨越不同的行 . 有没有简单的方法可以指定查询以使不同命名的节点分开?