Neo4J データベースで次のサブグラフをクエリしたいと思います。
(a)-->(b)-->(c)-->(d)
|
| -->(e)
注: a、b、c、d、e は、各ノードの属性値 (一意でない値) です。類似した属性値 (a から e) を持つこれらのノードには何千ものノードがありますが、それらは互いにランダムに接続されています。
Cyper クエリを記述して特定のサブグラフ (サブグラフの同型問題に似ています) を具体的に見つけて、(a) を探して返すにはどうすればよいですか? 次のCyperクエリを試しましたが、他のサブグラフがポップアップします:
START n1=node:SomeIndex(AttrVal="a")
MATCH n1-[]->n2-[]->n3-[]->n4
WHERE n2.AttrVal="b" AND n3.AttrVal="c" and n4.AttrVal="d"
WITH n1, n2
MATCH n2-[]->n5
WHERE n5.AttrVal="e"
RETURN n1
WITH 句と 2 番目の MATCH 句を間違って使用していますか?
ありがとう!