0

リンクリストを使用してパフォーマンスを向上させ、Neo4jでアクティビティフィードを作成する方法の理解に取り組んでいます。まだCypherの学習に取り組んでいるので、質問があります。リンクリストの例をいくつか見つけましたが、次のリストが必要です。最終的にすべてのピースを私の頭の中にまとめるためのより大きな例。

私はgrepcodeからこのコードを使用しましたが、Neo4jマニュアルの例よりも役立つことがわかりました。それでも私はまだ少し混乱しています..誰かがリンクリストに7つのアイテムを持つ7つのノードを言うように変更して、その前にノードを挿入することはできますか?

ええ、私はリンクリストの一番上に最新のステータスアップデートを載せようとしています。この例は実際にはそれを行いませんが、近いです..いくつかのmodを探しています..いいえ、私はまだ実際にはコーディングしていませんが、最初にCypherをマスターしようとしています-今後2週間はそれを研究し続けます。 .RubyonRails側を機能させる..Cypher/Neoで使用されるリンクリストをもう少しよく理解する必要があります。


CREATE zero={name:0,value:0}, two={value:2,name:2}, zero-[:LINK]->two-[:LINK]->zero

==== zero ====

MATCH zero-[:LINK*0..]->before,
after-[:LINK*0..]->zero,
before-[old:LINK]->after
WHERE before.value? <= 1 AND
1 <= after.value?
CREATE newValue={name:1,value : 1},
before-[:LINK]->newValue,
newValue-[:LINK]->after
DELETE old
==== zero ====
MATCH p = zero-[:LINK*1..]->zero
RETURN length(p) as list_length

私が頭の中でやろうとしているのは、前後のデータセットとゼロのデータセットを理解することです-私はほとんどそれを持っていますが、混乱を解消するために、3つ以上の開始ノードを持つセットでどのように行われるかを見たいです

ありがとうございました!

4

1 に答える 1

0

前のノードは、着信リンク関係がないため、特別です。通常、ヘッドノードへの接続もどこかに維持するため、これは、このリンクをヘッドノードに置き換え、ヘッドノードをさらに1ステップ遠ざけることです。このようなもの:

start user=node:node_auto_index(user="me")
match user-[old:MESSAGES]->head
delete old
create new_heads = { title: "Title", date : 2348972389, text: "Text" },
 user-[:MESSAGES]->new_head-[:LINK]->head
于 2013-03-27T13:34:16.703 に答える