不指定关系类型的 Neo4j 查询

Neo4j query without specifying relation type

我有一个数据的图形表示,其中多个节点具有随机关系

我正在使用 Neo4j 来表示它并使用查询 使用查询

MATCH (a)-[r]->(b)-[r2]->(c)

我得到一个输出,其中 A 与 B 相关,B 与 C 相关

但我需要查询具有任何关系(称为 RelationA)的节点 A 和 B 以及 B 之后的所有 C(具有 RelationA)与 A 和 B 具有相同的关系,如下图

如果 A 与多个 B 相连,那么预期的图形将是这样的

您可以在 WHERE 子句中检查关系是否相等。

MATCH path=(a)-[r]->(b)-[r2]->(c) 
WHERE type(r)=type(r2)  
RETURN path

P.S.: 如果您在 Neo4j 浏览器中查看此结果,那么它会“连接结果节点”,这意味着它会在不匹配的节点之间添加额外的关系标准。不要忘记在设置中取消选中 “连接结果节点” 选项。