// 步骤1: 定义标签条件列表 WITH ['Label1', 'Label2'] AS targetLabels // 替换为实际标签条件 // 步骤2: 匹配标签条件节点 MATCH (tag:LabelCondition) WHERE tag.name IN targetLabels WITH collect(tag) AS startNodes // 步骤3: 使用APOC扩展遍历(带双终止条件) CALL apoc.path.expandConfig( startNodes, { minLevel: 1, // 至少1步关系(排除起始节点) maxLevel: 10, // 最大路径深度10 relationshipFilter: 'ALL', // 所有关系类型和方向 labelFilter: '>', // 允许所有标签节点 terminatorNodes: [ // 动态检测终止节点 node WHERE 'Talent' IN labels(node) ], uniqueness: 'NODE_GLOBAL' // 高性能遍历模式 } ) YIELD path // 步骤4: 提取并返回去重节点 WITH last(nodes(path)) AS node // 获取路径终点 RETURN DISTINCT node