如何使用cypher从大树图返回树分支

时间:2013-05-28 05:29:44

标签: neo4j cypher graph-databases

我有一个包含数百个节点和关系的大型图形数据库。它看起来像一棵树。 我想写一个查询只返回一个分支。 我附上了一个简单的图形表示,我需要更多的信息.​​.....

这里我想从节点A开始遍历,然后是A-> B-> C,它是一个分支,然后再次从A-> B-> D开始,这是另一个分支。最后我想合并这两个分支并得到一个输出,如右侧所示。 合并它可以有两个以上的输出取决于我原来的图形。这是一个例子。 不同颜色的箭头表示不同类型的关系。

我需要检查的模式是:

(A)< - [:ORANGE] -p-> [:RED] -q;其中p& p可以是节点A已知的任何节点 (A)< - [:ORANGE] -r-> [:GREEN] -s;其中r& s可以是节点A已知的任何节点

![图] [1]

https://lh5.googleusercontent.com/-1a41h63adqs/UaQ7B1qdAxI/AAAAAAAAAI4/2QjGS5pa1Zc/s1600/Presentation1.png

1 个答案:

答案 0 :(得分:0)

试试MATCH (n)-[r]->(m) WHERE n.property = "B" RETURN n,r,m。 这将返回制作图表所需的路径。