Neo4j Notes
Contents
Combine Multiple Variabel into One
OPTIONAL MATCH (p1:Person)
WHERE p1.country = 'CN' AND NOT (:Parents) --> (p1)
OPTIONAL MATCH (p2:Person)
WHERE p2.country = 'USA'
WITH [x IN collect(p1) + collect(p2) | id(x)] AS ids
OPTIONAL MATCH (p:Person)
WHERE id(p) IN ids
OPTIONAL MATCH (p) -[:HAS]-> (:Car)
RETURN p
Conditional Delete
MATCH (ip:IP) --> (p:Port) WHERE id(ip) = 1
WITH count(p) AS cnt, ip, collect(p) AS ports
WHERE cnt > 100
FOREACH (p IN ports | DETACH DELETE p)
DETACH DELETE ip