获取与根节点具有特定类型关系的所有节点

Get all nodes with a specific type of relationship to a root node

我在 Neo4j 中有一个相当大且复杂的图(数百万个节点和各种类型的关系),我想获取特定根节点的所有子节点(所有深度),但仅限于特定类型关系

我试过:Match (n:NODE_TYPE)-[*:REL_TYPE]->(r:NODE_TYPE {id:SPECIFIC_ID}) return n 但是我在关系

上指定标签时遇到语法错误

在不指定关系类型的情况下查询整个图需要很长时间,并且节点可能会经过最终导致根节点的路径,但会使用其他类型的关系(这对我的用例不利) )

您需要更改 rel 类型和通配符的顺序:

Match (n:NODE_TYPE)-[:REL_TYPE*]->(r:NODE_TYPE {id:SPECIFIC_ID}) 
return n