(:App)-[:CONSUMES]->(:Interface)<-[:PROVIDES]-(:App)
或
(:App)-[:REQUIRES]->(:App)
MATCH (a0:App {name: "origin"})
( (a1:App)-[c2:CONSUMES]->(i:Interface)<-[c3:PROVIDES]->(a2:App)
| // <- this isn't valid syntax
(a3:App)-[c4:REQUIRES]->(a4:App)
Where a1.name <> "some condition"
) {1,5}
RETURN ....
关于如何描述这种替代方案的任何建议将不胜感激。
今天在单个声明中不可能。这是一个正在考虑的功能(如果可以的话,实际上可能会得到您提出的语法)。目前,您必须在两个qpp's之间进行联合。MATCH (a0:App {name: "origin"})
( (a1:App)-[c2:CONSUMES]->(i:Interface)<-[c3:PROVIDES]->(a2:App)
Where a1.name <> "some condition"
) {1,5}
RETURN ....
UNION
MATCH (a0:App {name: "origin"})
(a3:App)-[c4:REQUIRES]->(a4:App)
Where a1.name <> "some condition"
) {1,5}
RETURN ....