Reputation: 5784
I have 2 type of nodes. The first type have the :Schema
label. The second type have both :Root
and :Schema
labels. I want to write a cypher that will match only the first type (containing only the :Schema
label).
I have tried this:
MATCH (s:Schema) return s;
Which return the two types. Also getting the second type is easy, you just use
MATCH (s:Schema:Root) return s;
So, what's the proper cypher to match nodes with exactly the requested label?
Upvotes: 7
Views: 1856
Reputation: 71028
You can check the length of the LABELS()
collection (which is handy if you don't know which other labels to exclude, but only know you want a single label):
MATCH (s:Schema)
WHERE LENGTH(LABELS(s)) = 1
return s;
Upvotes: 12