问题描述
我有以下设置
- 人是组织的一部分
- 人员参加会议
- 会议在一个地点举行
在所有地点中,有一个非常常用的地点(大本营)。
这意味着当我“展开一棵生成树”时,当我到达那个位置时,我的图形“爆炸”
我使用的示例代码:
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