使用cypher返回多个类别标签节点

问题

正好用到需要返回路径上某个节点的多个类别标签的节点,于是想了下解决办法,如下。

解决办法

方法一

使用where语句中对节点标签进行过滤的语法,即n:标签名

match(n) where n:标签1 or n:标签B  return distinct n;

如果需要返回非某几类标签的话可以采用下面的方法(注意not和连接词and):

match(n) where not n:标签1 and not n:标签B  return distinct n;
方法二

使用labels函数返回节点标签类型,然后再进行过滤

match (n) where any(label in labels(n) WHERE label in ['标签1', '标签2']) return n

如果需要返回非某几类标签的话可以采用下面的方法(多了个not):

match (n) where any(label in labels(n) WHERE label not in ['标签1', '标签2']) return n

你可能感兴趣的:(Neo4j,neo4j,cypher)