Ne04j Graph Nodes,展开生成树但在特定节点处停止但不要为其他节点停止

问题描述

我有以下设置

  1. 人是组织的一部分
  2. 人员参加会议
  3. 会议在一个地点举行
  • 多人可以参加一个会议
  • 一个组织可以有多个人
  • 来自不同组织的人可以参加同一个会议
  • 可以在同一地点举行多次会议

在所有地点中,有一个非常常用的地点(大本营)。

这意味着当我“展开一棵生成树”时,当我到达那个位置时,我的图形“爆炸”

我使用的示例代码

MATCH (p:Person {pcode: 123456})
MATCH (terminator:Location) WHERE terminator.LocCode = 1

CALL apoc.path.spanningTree(p,{
minLevel: 1,maxLevel: 3,terminatorNodes: terminator
})
YIELD path
RETURN path
;

我希望在使用 terminatorNodes 时路径会在该特定节点处停止并忽略“超出”的所有内容..但事实并非如此,实际上我看到了“超出”的所有节点

我也尝试过使用 endNodes,但看起来代码一旦碰到该特定节点就会爆炸,并且在其他地方也停止生成树!

我也想为特定组织(我的!)获得相同的效果,但一次一个

我真正想要实现的是通过会议检索与起始人员相关的所有人员。 IE。 “起始人”A 与来自不同组织的另外 3 个人一起参加会议,然后我想看到这些人返回,以及他们的组织,然后是所有与他们的组织相关联的人。 以上只是一个开始,从某种意义上说,我还有其他 Node 标签要处理,但目的相同。

解决方法

你不能在你的情况下使用深度搜索吗?

MATCH path = (p:Person {pcode: 123456})-[:RELATIONSHIP_NAME*1..3]->(terminator:Loaction)  
WHERE terminator.LocCode = 1   
RETURN path