我需要创建一个查询来分析包依赖关系图。有不同类型的包(修补程序、功能包、服务包)。
package-A --DEPENDS_ON--> package-B
package-A --DEPENDS_ON--> package-F
package-B -- DEPENDS_ON --> package-C
package-B --> DEPENDS_ON --> package-D
package-B -- DEPENDS_ON --> package-E
package-D --> DEPENDS_ON --> package-J
package-E --DEPENDS_ON--> package-H
package-F --REPLACES--> package-E
package-K --REPLACES--> package-F // package-K is not a dependency of A
该图在节点深度方面确实很复杂。目前我尝试使用下面的查询,但它不起作用。
START n = node(1501) // package A
MATCH n-[:DEPENDS_ON*]->b
WHERE NOT(b<-[:REPLACES*]-()) // an indirect dependency package is replaced.
// so it has to be filtered but, the replacing package must be a dependency of A.
RETURN DISTINCT b, b.full_name, b.created?
ORDER BY b.created?
我想得到下面的包列表:B、F、C、D、J
谢谢