有没有办法根据Neo4j中的属性返回数据?

时间:2016-07-18 06:48:10

标签: neo4j cypher

在我的每个节点中,我都有一些属性,例如education_idwork_idlocale等等。所有这些属性都可以包含一个或多个值education_id:112education_id:165即节点A可能有education_id:112,节点B可能有education_id:165,节点C可能有education_id:112,依此类推。

我想要一个密码查询,它返回属性的特定值的所有节点,我不会事先关心该属性的值。

为了正确看待,在我提供的示例中,它必须返回education_id:112下的节点A和节点C以及education_id:165下的节点B

注意:我不提供每次指定属性值的多个密码查询。整个输出必须是动态的。

查询的输出应该类似于

education_id:112 Node A, Node C

education_id:165 Node B

这些是单个查询语句的结果。

2 个答案:

答案 0 :(得分:4)

我不太清楚我理解你的问题,但是基于预期的输出:

MATCH (n) RETURN n.education_id,collect(n) 

将按不同的education_id值

对节点进行分组

答案 1 :(得分:2)

你应该看一下cypher refcard。您正在寻找的是WHERE条款:

Match (a) WHERE a.education_id = 112 return a

您还可以直接在MATCH子句中指定属性。

Match (a{education_id: 112}) RETURN a