0

一个节点的属性有 6 个类别。我想让所有具有此属性的节点不等于其中一个类别。

这样做很容易WHERE

MATCH (a) 
WHERE a.property <> "category" 
RETURN a

我想用另一种方式来做,where因为它似乎更有效率。我想象它是这样的:

MATCH ( a {property <> "category"} ) 
RETURN a

可能吗?

4

1 回答 1

3

Neo4j MATCH没有内联语法WHERE NOT <property>=<value>。此外,Cypher 是声明性的,这意味着它只定义要返回的内容,而不是如何返回它。因此MATCH (n{id:1})(在执行中)等效于MATCH (n) WHERE n.id=1. WHERE 与内联产生不同执行计划的唯一时间是当您不将 WHERE 子句与 MATCH 配对时。通过尝试“优化”您的 cypher 以供执行,大多数情况下您只会采用 Cypher 规划者的方式。(除非您的原始密码过于复杂)

于 2018-11-27T15:15:38.327 回答