场景

如果我只返回关注的节点会怎么样?

比如我不看 app_run_in_vm,那么最后还能连起来吗?

验证

默认

MATCH (alarm:rca_alarm {name: '报警1'})
CALL apoc.path.subgraphAll(
    alarm,                            // 起始节点
    {relationshipFilter: "alarm_to_vm|app_run_in_vm|vm_run_in_phy",  // 关系类型过滤器
     labelFilter: "rca_vm|rca_phy|rca_app",  // 节点标签过滤器
     maxDepth: 3}                      // 最大深度
) YIELD nodes, relationships
RETURN nodes, relationships

效果

Neo4j Graph VisualizationCreated using Neo4j (http://www.neo4j.com/)alarm_to_vmvm_run_in_phyapp_run_in_vm 报警1 192.168.… 应用A 192.168.…

当我不想看中间的一个节点时

比如我跳过 vm,只看 app 和 phy 物理机。

MATCH (alarm:rca_alarm {name: '报警1'})
CALL apoc.path.subgraphAll(
    alarm,                            // 起始节点
    {relationshipFilter: "alarm_to_vm|app_run_in_vm|vm_run_in_phy",  // 关系类型过滤器
     labelFilter: "rca_phy|rca_app",  // 节点标签过滤器
     maxDepth: 3}                      // 最大深度
) YIELD nodes, relationships
RETURN nodes, relationships

参考资料

Neo4j安装插件

neo4j手动安装插件