我想通过带有密码查询的相关Model结果节点选择TotalResult节点。
在下图中,我想选择与3个ID为[5368,5410,5388]的绿色结果节点相关的指定灰色节点
MATCH (totalResult:TotalResult)-[r:USE]->(modelResult:ModelResult) WHERE ID(modelResult) IN [5368, 5410, 5388] RETURN totalResult, r, modelResult;
我尝试创建如下查询,但它是无效查询。
MATCH (totalResult:TotalResult)-[r:USE]->(modelResult:ModelResult)
WHERE ALL(modelResult IN CALL {MATCH (result:ModelResult) WHERE ID(result) IN [5368, 5410, 5388] RETURN result})
AND ALL(CALL{MATCH (result:ModelResult) WHERE ID(result) IN [5368, 5410, 5388] RETURN result} EXISTS nodes(modelResult))
RETURN totalResult, r, modelResult;
请让我知道是否可以通过其完全相关的节点ID以及如何选择节点?
谢谢。
假设所需的ModelResult
id列表作为ids
参数传递,如果总计结果
与所有指定的ModelResult
相关,而不是其他:
MATCH (totalResult:TotalResult)-[r:USE]->(modelResult:ModelResult)
WITH totalResult, COLLECT(ID(modelResult)) AS mIds, COLLECT({r:r, modelResult:modelResult}) AS data
WHERE SIZE(data) = SIZE($ids) AND ALL(id IN $ids WHERE id IN mIds)
RETURN totalResult, data;