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查找节点的所有子节点_Neo4j_Cypher - Fatal编程技术网

Neo4j查找节点的所有子节点

Neo4j查找节点的所有子节点,neo4j,cypher,Neo4j,Cypher,我的图形模型如下所示: 给定一个根节点,我将尝试查找该根节点的所有子节点。我的问题类似于: MATCH(a:X{somefilter})<-[*]-(allchildren) RETURN a,allchildren; MATCH(a:X{somefilter})听起来你不仅仅是在追求孩子,也在追求孩子的孩子 这将在两个级别上返回从根节点发出的所有路径(包含节点和关系的对象)。因此,在您的图片中,它将停止在Y和Z的子对象处进行遍历。将关系类型限定为MEMBER和CHILD将确保路径仅包

我的图形模型如下所示:

给定一个根节点,我将尝试查找该根节点的所有子节点。我的问题类似于:

MATCH(a:X{somefilter})<-[*]-(allchildren) RETURN a,allchildren;

MATCH(a:X{somefilter})听起来你不仅仅是在追求孩子,也在追求孩子的孩子

这将在两个级别上返回从根节点发出的所有路径(包含节点和关系的对象)。因此,在您的图片中,它将停止在Y和Z的子对象处进行遍历。将关系类型限定为MEMBER和CHILD将确保路径仅包含这些类型的关系

MATCH p=(a:X {somefilter})-[:MEMBER|CHILD*0..2]-(allchildren) 
RETURN p
在您的图片中,它出现在
Z
处,但实际上它本身就是
Y
的子对象。它似乎没有其他孩子


如果您从根节点X进行查询,而没有指向,则可以捕获从
Z
出站的关系和节点,而不仅仅是入站的关系和节点。

听起来您不仅关注子节点,还关注子节点的子节点

这将在两个级别上返回从根节点发出的所有路径(包含节点和关系的对象)。因此,在您的图片中,它将停止在Y和Z的子对象处进行遍历。将关系类型限定为MEMBER和CHILD将确保路径仅包含这些类型的关系

MATCH p=(a:X {somefilter})-[:MEMBER|CHILD*0..2]-(allchildren) 
RETURN p
在您的图片中,它出现在
Z
处,但实际上它本身就是
Y
的子对象。它似乎没有其他孩子


如果从根节点X进行查询而没有指向,则可以捕获从
Z
出站的关系和节点,而不仅仅是入站的关系和节点。

这仍然不会捕获从Z->Z产生的关系:(如果删除关系的方向性,会发生什么情况?我们谈论的是50k个节点和600万条边。无方向链接将永远运行。这仍然无法捕获从Z->Z产生的关系:(如果删除关系的方向性,会发生什么情况?我们谈论的是50k个节点和600万条边。无方向链接将永远运行。