我希望这个图表足以解释我之后的事情:
true
a--------------------b
| |
parent | | parent
| |
a_e------------------b_e
experimental
节点a_e和b_e是实验观察结果,每个节点只有一个父节点a和b。我知道a和b之间存在真正的关系,我想找到在a_e和b_e之间观察到实验关系的情况。除其他外,我尝试了以下内容:
MATCH (n)-[:true]-(m)
WITH n,m
MATCH (n)-[:parent]-(i)
MATCH (m)-[:parent]-(j)
WITH i,j
OPTIONAL MATCH (i)-[r]-(j)
RETURN r
但这不会返回任何行。我认为这就像一个嵌套循环,匹配所有i和所有j之间的所有可能的关系。这种查询是否可行?
答案 0 :(得分:3)
像
这样的东西match (n)-[:true]-(m)
match (n)-[:parent]->(n_child)-[:experimental]-(m_child)<-[:PARENT]-(m)
return n_child,m_child
(未经测试)
假设这是一个例子,你的节点上有标签等。