私はDNA SNPの階層ツリー(DAG)をロードしました。私は最低共通祖先を特定したい。Neo4j最低共通祖先ノードが見つかりません
このクエリは動作しますが、単一正しいノード収量:しかし、この1つは何も結果が得られていない
Match (n:SNPNode{SNP:'R-Z11'}), (m:SNPNode{SNP:'R-BY13828'})
match path=(n)-[:SNPParent*..99]->(MRCA)<-[:SNPParent*..99]-(m)
return MRCA.SNP
を:
Match (n:SNPNode{SNP:'R-Z11'}), (m:SNPNode{SNP:'R-S25289'})
match path=(n)-[:SNPParent*..99]->(MRCA)<-[:SNPParent*..99]-(m)
return MRCA.SNP
両方歩留まりの祖先を求めている2つのクエリは、そのうちのいくつかのノードにもかかわらず、共有されている:
MATCH p=(n:SNPNode{SNP:'R-Z11'})-[r:SNPParent*..66]->(m) RETURN m.SNP
m.SNP
R-Z338
R-Z8
R-Z7
R-Z2
R-Z345
R-Z27
R-Z30
R-Z9
R-L48
R-Z301
R-Z381
R-U106
R-L151
R-L51
R-L23
R-M269
R-P297
R-L389
R-L754
R-M343
と
MATCH p=(n:SNPNode{SNP:'R-Z25289'})-[r:SNPParent*..66]->(m) RETURN m.SNP
m.SNP
R-S16701
R-S1774
R-Z341
**R-Z11**
R-Z338
R-Z8
R-Z7
R-Z2
R-Z345
R-Z27
R-Z30
R-Z9
R-L48
R-Z301
R-Z381
R-U106
R-L151
R-L51
R-L23
R-M269
R-P297
R-L389
R-L754
R-M343
R-Z11が2番目のクエリのパスにあり、それ自体が祖先であると思われるようです。言い換えれば、LCAが最短経路の終わりにあることがあります。 R-Z11が最短経路にあるかどうかにかかわらず結果として返すようにこれに対処する方法はありますか?
あなたは問題のダブルチェックノードにすることもできます。結果が得られなかったクエリでは、使用されているSNPは「R-Z11」と「R-S25289」です。しかし、後で祖先を探すために使ったクエリは、「R-Z11」と「R-Z25289」でした。あなたはSをZに変更しました。 – InverseFalcon