匹配Cypher/Neo4J中的多个节点属性值

Dmi*_*kin 3 neo4j cypher

使用Cypher 2我想找到某个标签(Context)的所有节点,它们被称为"健康"或"意见".

有效的查询是:

MATCH (c:Context) WHERE c.name="health" OR c.name="opinion" RETURN c;
Run Code Online (Sandbox Code Playgroud)

但我想知道Cypher是否有一种语法可以将它放入第一个MATCH部分,如下所示:

MATCH (c:Context{name:"health"|name:"opinion})
Run Code Online (Sandbox Code Playgroud)

上面的例子不起作用,但我只是展示它让你知道我的意思.

谢谢!

Eri*_*ric 9

或者,您可以这样做:

MATCH (c:Context) WHERE c.name IN ['health', 'opinion'] RETURN c
Run Code Online (Sandbox Code Playgroud)

仍然没有在"MATCH"声明中,但随着可能值列表的增长而变得更容易一些.


Jen*_*sen 3

你可以做

MATCH (c:Context {name:"health"}), (d:Context { name:"opinion"}) 
RETURN c,d
Run Code Online (Sandbox Code Playgroud)

  • 好吧,你确实问过是否可以将其放入 MATCH 部分,我回答了 (3认同)