不指定关系类型的 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 浏览器中查看此结果,那么它会“连接结果节点”,这意味着它会在不匹配的节点之间添加额外的关系标准。不要忘记在设置中取消选中 “连接结果节点” 选项。
我有一个数据的图形表示,其中多个节点具有随机关系
我正在使用 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 浏览器中查看此结果,那么它会“连接结果节点”,这意味着它会在不匹配的节点之间添加额外的关系标准。不要忘记在设置中取消选中 “连接结果节点” 选项。