繁体   English   中英

简化cypher,匹配所有节点和两种节点类型之间的关系

[英]Simplifying cypher, match all nodes and relationships between two node types

反正有没有进一步简化这个查询? 我想从kingdom到所有species go ,有与物种节点相关的节点。 图像显示了这个查询的结果,但是有没有办法匹配kingdom节点以及直到物种节点的所有节点和关系。 如果你喜欢:王国和物种之间的所有节点/关系。

永远不会有一个节点不附加到王国或物种对象(这是一个分类层次)。 RELTYPE可能会更改为更有意义的内容。

MATCH (k:Kingdom)-
[:RELTYPE]->(p:Phylum)-
[:RELTYPE]-(c:Class)-
[:RELTYPE]-(o:Order)-
[:RELTYPE]-(f:Family)-
[:RELTYPE]-(g:Genus)-
[:RELTYPE]-(s:Species)
RETURN k, p, c, o, f, g, s

在此处输入图像描述

您可以在查询中使用可变长度关系。 *6 表示您可以从王国获得节点,最多六跳(或关系),直到您到达物种。 然后从这个路径,返回你找到的所有节点。

MATCH p=(:Kingdom)-[:RELTYPE*6]-(:Species)
RETURN nodes(p)

无需指定关系类型,但最好设置一个上限(即使它很高)。 例如:

MATCH p=(:Kingdom)-[*..15]->(:Species)
RETURN nodes(p)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM