Cypher WHERE NOT EXISTS with named variable

时间:2017-09-14 14:51:42

标签: neo4j cypher

在Neo4J数据库中,我需要找到一个(复杂)模式,其中包含3个命名节点(让他们说a,b,c)和其他一些非命名节点,但前提是没有节点(说" x")连接到a,b和c。

我想写一些类似的东西:

MATCH (a:A)-<something>-(b:B)-<something>-(c:C)
WHERE NOT EXISTS ((a)--(x:X)--(b), (x)--(c) )
RETURN a, b, c

但我得到&#34;变量x未定义&#34;。如果连接到(a)和(b),x只是被禁止,这将很容易。 NOT EXISTS (a)--(:X)--(b) AND NOT EXISTS (a)--(:X)--(c)过于强大。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您应该尝试MATCH x:X并使用WHERE

MATCH (x:X), (a:A)-<something>-(b:B)-<something>-(c:C)
WHERE NOT EXISTS ((a)--(x)--(b), (x)--(c) )
RETURN a, b, c