如何使用Cypher在一个属性上返回具有distinct的节点的所有属性

时间:2018-05-09 07:53:20

标签: neo4j cypher

我是cypher的新手,我想在使用'DISTINCT'之后获取数据,但我只能得到'DISTINCT'属性的值,例如:

CREATE (n:person {name: "a", age: 22})
CREATE (n:person {name: "a", age: 23})
CREATE (n:person {name: "a", age: 24})

我想只获得一个名为“person”的节点,其名称为“a”,所以我尝试这样的查询

MATCH (n:person) RETURN DISTINCT n.name

这只返回“a”,但我想要节点的所有属性和值,{name:“a”,年龄:22},我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以尝试此查询:

MATCH (n:person) 
WITH n.name, collect(n) AS persons
RETURN persons[0]

collect是一个聚合函数,所以在其中你将使n.name聚合所有节点,然后返回第一个元素。

答案 1 :(得分:0)

只使用person" a"来获得一个name节点:

MATCH (n:person {name: "a"})
RETURN n
LIMIT 1;