Neo4j,只匹配一个标签的节点

Neo4j, match node with exactly one label

我有两种类型的节点。第一种类型具有 :Schema 标签。第二种类型同时具有 :Root:Schema 标签。我想写一个只匹配第一种类型的密码(只包含 :Schema 标签)。

我试过这个:

MATCH (s:Schema) return s;

其中return两种类型。获得第二种也很容易,你只需使用

MATCH (s:Schema:Root) return s;

那么,将节点与请求的标签完全匹配的正确密码是什么?

尝试这样的事情:

match (s:Schema)
WHERE Not s:Root
RETURN s

您可以检查 LABELS() 集合的长度(如果您不知道要排除哪些其他标签,但只知道您想要一个标签,这会很方便):

MATCH (s:Schema)
WHERE LENGTH(LABELS(s)) = 1
return s;