問題タブ [neo4j-traversal-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
575 参照

neo4j - Cypherを使用して関係の重みの昇順でNeo4jグラフをトラバースする

エッジの重みを含む次のグラフがあるとします。

ここに画像の説明を入力

ノード a から始まり、CYPHER を使用して重みの昇順でエッジに続くトラバーサルを実行できるかどうかを知りたいです。それはそれが戻るはずです(a)-4->(e)-3->(c)-3->(d)

これはサイファーを使用して可能ですか?

0 投票する
1 に答える
495 参照

neo4j - Neo4J Java Native API vs Traversal API vs Cypher

Neo4J Java Native API、Traversal API、および Cypher のパフォーマンス評価を行った人はいますか? 上記の 3 つのオプションのうち、パフォーマンスの観点からより良い結果が得られるのはどれですか? また、書き込み操作には、ネイティブ Java API または暗号を使用する必要があります。ノード/関係の作成ごとではなく、DB に 1 回だけヒットするように、ネイティブ API で DB 操作を一括処理する可能性はありますか。

0 投票する
1 に答える
203 参照

neo4j - トラバーサル フレームワークを使用して、Neo4j で一種のランダム ウォークをコーディングする

私は現在、ノードが確率的エッジを介して接続されているグラフに取り組んでいます。各エッジの重みは、エッジの存在確率を定義します。

開始するためのグラフの例を次に示します。

Neo4j トラバーサル フレームワークを使用して、このグラフを (A) からトラバースし、途中で見つかったエッジの確率に基づいて、到達したノードの数を返したいと思います。

重要:

  • 到達した各ノードは 1 回だけカウントできます。→ (A) が (B) と (C) に到達する場合、(C) は (B) に到達する必要はありません。一方、(A) が (B) に到達できず (C) に到達した場合、(C) は (B) に到達しようとします。
  • (B) が (C) に到達した場合も同様で、(C) は (B) に再び到達しようとはしません。
  • これは離散時間ステップ関数で、ノードは隣接ノードに 1 回だけ到達しようとします。
  • エッジの存在をテストする (トラバースするかどうか) ために、乱数を生成し、エッジの重みよりも小さいかどうかを確認できます。

トラバーサル記述の一部を次のようにコーディングしました。(ここでは、複数のノードから開始することは可能ですが、問題を解決するために必要ではありません。)

次のように、到達したノードの数を追跡します。

このコードの問題は、NODE_PATH が定義されていても、望ましくないサイクルが存在する可能性があることです。

したがって、私は知りたいです:

  • サイクルを回避し、到達したノードの数を正確にカウントするソリューションはありますか?
  • そして理想的には、PathExpander を使用して同じことを行うことは可能 (またはそれ以上) でしょうか?

ありがとう