按属性值neo4j获取节点

时间:2015-04-01 02:46:04

标签: neo4j cypher

我如何通过价值获得节点?我的意思是这样的: 我试过试试

match (n) where has (n.name = 'Mark') return n

但这是不正确的。

还有我如何找到具有最大属性值的节点。我有属性“VIEWS”的节点,我希望看到具有最大视图的节点。

1 个答案:

答案 0 :(得分:22)

如此接近......

MATCH (n) 
WHERE n.name = 'Mark' 
RETURN n

如果您有一个节点标签用于将节点与不同类型的其他节点隔离,则最好包含节点标签。这样,如果您在名称属性和标签组合上有索引,您将获得更好的搜索响应能力。例如,您可以创建索引...

CREATE INDEX ON :Person(name)

然后使用Person标签进行查询。

MATCH (n:Person) 
WHERE n.name = 'Mark' 
RETURN n

或者您也可以这样查询...

MATCH (n:Person {name:'Mark'}) 
RETURN n

找到观看次数最多的人......

MATCH (n:Person)
RETURN n, n.views
ORDER BY n.views desc
LIMIT 1

在没有此人的情况下找到最多的观看次数......

MATCH (n:Person)
RETURN max(n.views)