Cypher - 如果与特定标签的节点不存在关系,则返回节点

时间:2014-09-12 12:01:56

标签: neo4j cypher

请在https://stackoverflow.com/a/14254214/1060044

看到类似的答案

我有一个要求,我的模式如下:

MATCH (b:Label1{id:123})<--(Label2)<--(a:Label3) WHERE NOT (a)<--(Label4) return a;

我收到此查询的语法错误。有没有有效的方法来实现这一目标?

我正在使用neo4j社区版本2.1.2

1 个答案:

答案 0 :(得分:1)

在Cypher中使用标签时,您必须在它们前面使用冒号:

MATCH (b:Label1{id:123})<--(:Label2)<--(a:Label3) WHERE NOT (a)<--(:Label4) return a;

因此,从具有标签Label1的节点123,您遵循与标签为Label2的节点的传入关系,以及带有标签Label3的节点a,并确保a不与标记为Label4的任何节点节点。