Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.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,从前面的查询中,我检索到一个节点列表,例如,表示汽车位置的节点9、10、18、12、20。注意,列表可以是动态的,我可能会得到更多或更少的节点 从节点列表中,我想知道并检索哪个节点与谁相关。(或谁是谁的朋友)(node)-[:TO]-(node)来自给定列表 例如,从模型中,我们可以看到节点9和10是(朋友)相关的,节点18和12也是,节点20在列表中没有朋友 所以最后我想得到这个: 并在行中显示结果(neo4j) [9, 10], [18, 12], [20] 每一个朋友关系在不同的

从前面的查询中,我检索到一个节点列表,例如,表示汽车位置的节点9、10、18、12、20。注意,列表可以是动态的,我可能会得到更多或更少的节点

从节点列表中,我想知道并检索哪个节点与谁相关。(或谁是谁的朋友)
(node)-[:TO]-(node)
来自给定列表

例如,从模型中,我们可以看到节点9和10是(朋友)相关的,节点18和12也是,节点20在列表中没有朋友

所以最后我想得到这个:

并在行中显示结果(neo4j)

[9, 10], 
[18, 12], 
[20]
每一个朋友关系在不同的一行

有什么建议吗


提前感谢您

您可以
收集上一次查询中的节点
,然后
将它们展开
将它们匹配到自身上

MATCH (n:Label)
// your filter here
WHERE ... 
WITH collect(DISTINCT n) AS my_nodes
// unwind twice to match nodes onto themselves
UNWIND my_nodes AS x
UNWIND my_nodes AS y
MATCH (x)-[:TO]->(y)
WHERE x <> y
RETURN x.value, y.value
匹配(n:标签)
//你的过滤器在这里
哪里
使用collect(DISTINCT n)作为我的_节点
//展开两次以将节点匹配到自身
将我的_节点作为x展开
将我的_节点作为y展开
匹配(x)-[:到]->(y)
其中x和y
返回x.value,y.value

但是,也许您也可以通过包含与节点的另一个关系,在您之前的查询中包含这个?这取决于上一个查询的外观。

它可以工作,我的上一个查询很简单,匹配(c:Car)-[:is\u ON]->(l:Location)。是否有方法在同一查询中返回列表中没有朋友的节点。得到这样的结果[9,10],[18,12],[20]