gpt4 book ai didi

Neo4j : Find children derived from same parents in cypher

转载 作者:行者123 更新时间:2023-12-04 00:08:59 25 4
gpt4 key购买 nike

我们如何在密码中做到这一点?
n parent p1, p2, p3.... pn m child c1, c2,c3... cm .
假设 c1 源自(的 child ) p1、p2 和 p3 还有 c2 源自(的 child ) p1、p2 和 p3 .
给定 c1 我们可以找到 c2 ? (节点派生自与 c1 相同的父节点)
一个 child 可以有 1...n 个 parent 。

最佳答案

我居然问了an extremely similar question几周前在这里,我得到的答案也适用于你,只需稍微调整一下。

START c1=node(*), c2=node(*)
MATCH c1-[:ChildOf]->parent<-[:ChildOf]-c2
WITH c1, c2, count(parent) AS parentsFound
WHERE length(c1-[:ChildOf]->()) = parentsFound
AND length(c2-[:ChildOf]->()) = parentsFound
AND c1 <> c2
RETURN c1, c2

注意:想必你会有更好的方式来挑选你的 c1c2比使用 node(*) .

这个查询一行一行的逻辑:
  • 从所有 child 开始 c1c2 ,
  • 查找所有 parent s 分享者 c1c2
  • 统计共享数量parent找到的 s
  • 确保parent的数量s 找到的匹配总数 parent就是 c1已。
  • 确保parent的数量s 找到的匹配总数 parent就是 c2已。
  • (可选)不要费心将节点与其自身进行比较
  • 返回结果!
  • 关于Neo4j : Find children derived from same parents in cypher,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15437036/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com