假设我具有定义为A-> B,A-> D,C-> A,B-> C,B-> D的图形关系。我需要在Neo4j中获得以下子图 -
对于第一部分,我有以下查询 -
MATCH (s:Node)->(d:Node)
WHERE s.name = 'A' OR d.name = 'A'
我无法在同一查询中获取第二部分数据。我是否需要遍历所有节点?
答案 0 :(得分:3)
这是一个简单的模式,表示您从节点开始路径,然后转到它旁边的节点,然后其中一个可以返回到起始节点:
MATCH (A:Node {name:'A'}) WITH A
MATCH (A)--(FD1:Node)-[r]-(FD2:Node)--(A)
WHERE ID(FD1) > ID(FD2)
RETURN FD1, r, FD2
P.S。请记住,您无法指定关系的方向。