Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/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 如何在Cypher查询中查找节点的其他关系_Neo4j_Cypher - Fatal编程技术网

Neo4j 如何在Cypher查询中查找节点的其他关系

Neo4j 如何在Cypher查询中查找节点的其他关系,neo4j,cypher,Neo4j,Cypher,我的图表如下所示: a-[sends]->b-[sends]->d c-[sends]->d a-[hostedOn]->S1 a-[hostedOn]->S3 b-[hostedOn]->S1 b-[hostedOn]->S2 我有一些查询过滤“发送”关系的属性并返回所需的结果。现在,如果我也可以要求它返回“hostedOn”,那么我也希望在同一个查询中使用它。比如说,我的输出是b-[sends]>d,我怎么能在相同的输出中也有b-[hostedOn

我的图表如下所示:

a-[sends]->b-[sends]->d
c-[sends]->d
a-[hostedOn]->S1
a-[hostedOn]->S3
b-[hostedOn]->S1
b-[hostedOn]->S2

我有一些查询过滤“发送”关系的属性并返回所需的结果。现在,如果我也可以要求它返回“hostedOn”,那么我也希望在同一个查询中使用它。比如说,我的输出是b-[sends]>d,我怎么能在相同的输出中也有b-[hostedOn]>S1和S2?根据在“发送”关系上应用的过滤器,b&d每次都会发生变化。

鉴于提供的信息很少,这里有一个可能的解决方案。许多解决方案都是可能的,具体取决于需要返回的内容以及是否需要任何聚合

MATCH (a)-[r:sends]->(b)
WHERE r.foo = "bar"
MATCH (a)-[r1:hostedOn]->(s1), (b)-[r2:hostedOn]->(s2)
RETURN a, r, b, r1, s1, r2, s2;

此查询假定所有
a
b
节点也必须具有
:hostedOn
关系,因此不存在
可选匹配
子句。

也许可以共享您所指的查询?非常感谢!这有助于并增进了我的理解:)