Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 匹配一个或另一个条件_Neo4j_Cypher_Flow - Fatal编程技术网

Neo4j 匹配一个或另一个条件

Neo4j 匹配一个或另一个条件,neo4j,cypher,flow,Neo4j,Cypher,Flow,我正在尝试这样做: MATCH (c:Flow)-[y:AppliFlux]-(d:Application) OPTIONAL MATCH (c)-[r:FlowPart]-(e:Partner) return c 流量必须与以下各项相关: 应用程序或 合伙人 我的流必须具有这两种关系之一。 我试着这样做: MATCH (c:Flow)-[y:AppliFlux]-(d:Application) OPTIONAL MATCH (c)-[r:Flo

我正在尝试这样做:

    MATCH (c:Flow)-[y:AppliFlux]-(d:Application)
    OPTIONAL MATCH (c)-[r:FlowPart]-(e:Partner)
    return c
  • 流量必须与以下各项相关:
    • 应用程序
    • 合伙人
我的流必须具有这两种关系之一。 我试着这样做:

    MATCH (c:Flow)-[y:AppliFlux]-(d:Application)
    OPTIONAL MATCH (c)-[r:FlowPart]-(e:Partner)
    return c
但它没有返回我需要的东西。
感谢您的帮助

您可以使用
其中
并通过关系存在性检查条件:

MATCH (c:Flow)
WHERE (c)-[:AppliFlux]-(:Application)
OR (c)-[:FlowPart]-(:Partner)
RETURN c
[编辑]

在聊天室中进行了一些讨论后,最符合问题要求的解决方案如下:

MATCH (a:Domain)-[r:AppliDom]-(b:Application)-[t:AppliFlux]-(c:Flo‌​w)-[y:AppliFlux]-(‌​d:‌​Application)-[u:Appl‌​iDom]-(e:Domain) 
RETURN {a:a,c:c,e:e} as elements 
UNION 
MATCH (c)-[r:FlowPart]-(e:Partner) 
RETURN {c:c} as elements

即:使用
UNION
返回投影。

谢谢您的回复。但是如果我需要获得合作伙伴或应用程序,您的解决方案就不起作用。如果需要,我的查询返回可以更改。Hello@Philigane。您是否尝试过使用两个
可选匹配项
s<代码>可选匹配(c:Flow)-[y:AppliFlux]-(d:Application)可选匹配(c)-[r:FlowPart]-(e:Partner)返回c再次感谢您的回复:)。如果我放入两个可选匹配项,我将得到一些没有任何这些关系的流。@Philigane和
联合如何
MATCH(c:Flow)-(y:AppliFlux)-(d:Application)返回c联合匹配(c)-(r:FlowPart)-(e:Partner)返回c
-(e:Partenaire)“