我的图表模型如下所示: Graph Model
给定一个根节点,我试图找到该根节点的所有子节点。我的查询类似于:
MATCH(a:X{somefilter})<-[*]-(allchildren) RETURN a,allchildren;
allchildren
此处对应Y & Z
。
但在这里我错过了Nodes&amp; amp;从Z出来的关系。像Z-(:CHILD)->Z
我也需要捕获这些节点。
如何捕获所有子节点?
答案 0 :(得分:1)
听起来你不仅仅关注孩子,还关注孩子们的孩子。
这将从根节点向下返回两个级别的所有路径(包含节点和关系的对象)。因此,在你的图片中,它将停止遍历Y和Z的子女。将关系类型限定为MEMBER和CHILD将确保路径仅包括这些类型的关系。
MATCH p=(a:X {somefilter})-[:MEMBER|CHILD*0..2]-(allchildren)
RETURN p
在你的照片中,虽然Z
Y
实际上是一个Z
的孩子。它似乎没有任何其他孩子。
如果从没有方向的根节点 X 进行查询,则可以捕获从public static Icon BlankIcon(int size) {
BufferedImage image = new BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB);
return new ImageIcon(image);
}
出站的关系和节点,并且只反对那些入站的节点。