小编Aga*_*alf的帖子

Cypher:查找节点之间的任何路径

我有一个看起来像这样的neo4j图:

图表概述

节点:

  1. 蓝色节点:帐户
  2. 红色节点:PhoneNumber
  3. 绿色节点:电子邮件

图形设计:

  • (:PhoneNumber) - [:PART_OF] - >(:帐户)
  • (:电子邮件) - [:PART_OF] - >(:帐户)

我试图解决的问题是

查找Account1和Account2之间存在的任何路径.

这是我迄今为止尝试过的但没有成功:

  1. MATCH p = shortestPath((a1:Account {accId:'1234'}) - [] - (a2:Account {accId:'5678'}))RETURN p;
  2. MATCH p = shortestPath((a1:Account {accId:'1234'}) - [:PART_OF] - (a2:Account {accId:'5678'}))RETURN p;
  3. MATCH p = shortestPath((a1:Account {accId:'1234'}) - [*] - (a2:Account {accId:'5678'}))RETURN p;
  4. MATCH p =(a1:Account {accId:'1234'})< - [:PART_OF*1..100] - (n) - [:PART_OF] - >(a2:Account {accId:'5678'})RETURN磷;
  5. 没有最短路径函数调用的相同查询.

通过查看图表,我可以看到这两个节点之间存在一条路径,但我的查询都没有产生任何结果.我确信这是一个非常简单的查询,但对Cypher来说是新手,我很难找到正确的解决方案.任何帮助表示赞赏.

谢谢.

neo4j cypher

6
推荐指数
1
解决办法
1670
查看次数

标签 统计

cypher ×1

neo4j ×1