0

我有以下设置

  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,但是看起来代码一碰到那个特定的节点就会爆炸,并且在其他任何地方也停止生成树!

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

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

4

1 回答 1

0

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

MATCH path = (p:Person {pcode: 123456})-[:RELATIONSHIP_NAME*1..3]->(terminator:Loaction)  
WHERE terminator.LocCode = 1   
RETURN path  
于 2021-06-22T18:31:38.603 回答