我想匹配一些不满足条件的节点,但它很慢。如何优化呢?数据库中有大约70000个节点。
match (n:A)--(p:B)--(q:C)
with collect(n) as nc
match m where not m in nc
return count(m)
答案 0 :(得分:0)
无需首先获得与初始模式匹配的所有节点。只需遍历所有节点并检查它们即可:
MATCH (m) WHERE NOT (m)--(:B)--(:C)
RETURN count(m)
或者如果标签上的条件是' A'很重要:
MATCH (m)
OPTIONAL MATCH p = (m)--(:B)--(:C)
WITH m WHERE (p IS NULL) OR (NOT p IS NULL AND NOT 'A' IN LABELS(m))
RETURN count(m)