找到没有传递发生的所有节点?

时间:2017-05-28 09:46:30

标签: neo4j cypher

我有一个图表,其中节点是站点,站点之间的关系是自行车的行程。我想查找任何电台a与电台b连接的所有模式,b已连接到c,但c未直接连接到a (a)-[:Related_to]->(b) (b)-[:Related_to]->(c)

a

cComparator无关。

1 个答案:

答案 0 :(得分:0)

您可以使用WHERE NOT谓词来执行此操作。

MATCH (a)-[:Related_to]-(b)-[:Related_to]-(c)
WHERE NOT (a)-[:Related_to]-(c)

更新

如果您只想获得前10个传递节点,可以使用limit

MATCH (a)-[:Related_to]-(b)-[:Related_to]-(c)
WHERE NOT (a)-[:Related_to]-(c)
WITH c,size((c)-[Related_to]->()) as nr_of_outgoing_rels order by nr_of_outgoing_rels desc
RETURN c limit 10