私は、cypherステートメントでリンクリストを作成するのに苦労しています。私は各kに対して以下のことをしようとしています。リンクされたリストと:NEXT関係はkによって分離されるべきです。ノードで接続されたすべてのノードのリンクリストを作成します。
match (elem:Event)<-[r:HAS_EVENT]-(k)
WITH elem ORDER BY elem.id ASC
WITH COLLECT(elem) AS elems
FOREACH (n IN RANGE(0, LENGTH(elems)-2) |
FOREACH (prec IN [elems[n]] |
FOREACH (next IN [elems[n+1]] |
MERGE (prec)-[:NEXT]->(next))))
Iが一致しようとしたforeachステートメントの内部MATCHステートメントを実行するit'sができないので、K及び各kのことで、このコードを実行するための他の可能な方法としてX X UNWINDとして有する(Some_Label)を(IDロックアップなど)。私はいつも長い鎖で終わります:NEXT throu all:イベントノード。これは、matchステートメントがすべてのk個のノードを考慮することを示唆しています。私はどのように一致するかについての助けが必要です:Some_Labelノードとそれらのそれぞれを上記のコードに渡します。
あなたのデータはどのように見え、誰が 'k'ですか?あなたの問題をよりシンプルに/より詳細に記述できますか? –
kはこの場合のサポートチケットです。だから私は各チケットのリンクリストを作成したい。それぞれ:イベントノードには、それに接続されたいくつかの他のノード、ステータス、カテゴリ化などがあります。各:チケットノードにはいくつかのイベントノードが接続されています。 :チケットと:イベントラベルはIDでインデックス付けされています 問題は、グラフにあるチケット(MATCH(k:Ticket))を前の一致ステートメントの各kに対して実行することです。 –
MATCH(a:Ticket): ---ちょっとした例--- match(elem:Event)< - [r:]:このエントリは、ロードされたCSVステートメントから理想的にはロードされますが、 HAS_EVENT] - (k) WITH elem ORDER BY elem。id ASC WITH COLLECT(elem)AS elems FOREACH(n IN RANGE(0、LENGTH(elems)-2)| FOREACH(prec IN [elems [n]] | FOREACH(次のIN [elems [n + 1] ])| マージ(prec) - [:NEXT] - >(next)))) –