2015-02-27 9 views
7

Mam 2 typy węzłów. Pierwszy typ ma etykietę :Schema. Drugi typ ma zarówno etykiety :Root, jak i :Schema. Chcę napisać szyfr, który będzie pasował tylko do pierwszego typu (zawierającego tylko etykietę :Schema).Neo4j, węzeł dopasowania z dokładnie jedną etykietą

Próbowałem to:

MATCH (s:Schema) return s; 

które zwracają dwa typy. się również drugi typ jest proste, wystarczy użyć

MATCH (s:Schema:Root) return s; 

Więc, jaka jest właściwa Cypher pasujące węzły z dokładnie żądanej etykiety?

Odpowiedz

7

spróbować czegoś takiego:

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

Można sprawdzić długość kolekcji LABELS() (co jest przydatne, jeśli nie wiem, jakie inne etykiety, aby wykluczyć, ale tylko wiedzieć chcesz pojedynczą etykietę):

MATCH (s:Schema) 
WHERE LENGTH(LABELS(s)) = 1 
return s; 
Powiązane problemy