我是Graph DB和Neo4j的新手,需要帮助来查询至少有2个公共节点的数据
Graph
从上图中,我需要获取ROW1和Row2的详细信息,因为它是两个公共节点ID_B和ID_C
Graph 2 with more nodes having common neighbor
使用图表2,我需要将第1行、第2行和第3行的详细信息合并为 第1行和第2行ID_B、ID_C相同 第2行和第3行的ID_A、ID_B和C相同我认为这样就可以了:
MATCH(r1:ROW)-[:HAS_ID]->(i)<-[:HAS_ID]-(r2:ROW)
WHERE id(r1) > id(r2)
WITH r1,r2, COLLECT(i) AS is
WHERE SIZE(is) > 1
RETURN r1,r2
如果您有多条记录,并且希望查询返回具有两条或多条共同记录的唯一记录列表,您可以执行以下操作:
MATCH(r1:ROW)-[:HAS_ID]->(i)<-[:HAS_ID]-(r2:ROW)
WHERE id(r1) > id(r2)
WITH [r1,r2] AS nodePair, COLLECT(i) AS is
WHERE SIZE(is) > 1
UNWIND nodePair AS node
RETURN DISTINCT node
上一篇:C#的Visual Studio之外REPLVisual、Studio、REPL
下一篇:在factorybot中附加ActiveStorage文件文件、factorybot、ActiveStorage