Neo4j Cypher - 返回相同类型的节点子集

时间:2015-02-01 20:07:38

标签: neo4j cypher graph-databases

刚刚开始学习图形数据库并且无法解决这个非常容易的问题(现实世界) - 任何帮助都会非常感激。

问题

鉴于节点X 找到子集Y

diagram.jpg

使用Neo4j Cypher查询 - Direct Image Link

2 个答案:

答案 0 :(得分:2)

以下查询会返回您的' X'节点,以及标记为A的其他节点的集合,这些节点也被相同的B节点所喜欢。

MATCH (a:A)<-[:likes]-(:B)-[:likes]->(otherA:A)
WHERE a.id = 'X'
RETURN a, COLLECT(otherA)

我在此假设您通过A属性标识了id个节点。没有必要明确确保otherA永远不会与a相同,因为Cypher会自动为您执行此操作(see manual)。

答案 1 :(得分:0)

<强>解决方案

MATCH (a {api_id: 182983836})<-[:likes]-(b)-[:likes]->(c) RETURN c