問題タブ [cypher]
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.
neo4j - 集計クエリでの Neo4J のパフォーマンス
次のスキーマが与えられた場合: (曲がっていて申し訳ありません)
ある場所でのアクティビティのリストと、その場所でその特定のアクティビティをプレイしている人数の数を取得しようとしています。
上記は私が望むことだと思いますが、21秒かかるのは良いことではありません. オプションの関係またはバックトラックが原因だと思いますが、どうすればより良いクエリを作成できますか?
neo4j - 関係の方向性を考慮して、サイファーの総パス コストを計算する
neo4j でサイファー クエリを使用すると、有向循環グラフで BFS クエリと深さレベルごとに並べ替えるターゲット ノードが必要になります。
深さ内の並べ替えの場合、カスタムの「総パス コスト関数」を使用する必要があります。
r.followrank
開始ノードと終了ノードの間のすべての関係属性。- 関係の方向性 (終了ノードを指す場合は followrank、そうでない場合は 0)
任意の検索深度レベルn
で、 レベル で高ランクのノードにn-m, m>0
接続されたノードは、 レベル で低ランクのノードに接続されたノードよりも高くランク付けされる必要がありますn-m
。逆方向の場合、ランクは 0 になります (つまり、ノードとそのサブツリーは依然としてランキングの一部です)。
私はneo4j community-1.9.M01を使用しています。私がこれまでに取ったアプローチは、各エンドノードへの最短パスのフォローランクの配列を抽出することでした
このクエリの最初の素晴らしいアイデアを思いついたと思いましたが、複数のポイントでうまくいかないようです。
私のクエリは次のとおりです。
出力する
それは私が必要とするものに似ていますが、問題は
- ノード 8、9、10、11 は 7 に対して同じ関係方向を持ちます! 逆クエリの結果
...*length(strt-[*0..]-()-[r]->() )...
はさらに奇妙に見えます - すぐ下のクエリを参照してください。 - 式の結果を 1 に正規化する方法がわかりません
length()
。
方向性:
逆クエリ:
だから私の質問は:
- このクエリで何が起こっているのですか?
- 作業アプローチはありますか?
追加の詳細については、min(length(path)) アグリゲーターを知っていますが、ベスト ヒットに関する情報を抽出しようとしているこのケースでは機能しません。ベスト ヒットについて返される追加情報は分解されます。再び結果 - それはサイファーの制限だと思います。
neo4j - Neo4j Cypher: LIMIT と COLLECT を使用する (または同じクエリで LIMIT を 2 回使用する)
投稿と、投稿に「いいね」したユーザーを取得するタイムライン タイプのクエリがあります。
取得する投稿の数を 25 に制限しています。また、投稿を気に入ったユーザーの数も制限したいと考えています。クエリで複数の制限句を使用する方法はありますか? 理想的には、次のようなことをしたいと思います。
または:
各投稿に対して返されるいいねの数を 6 に制限するのはどれですか。どうすればこれを達成できますか?
neo4j - Spring Data Neo4j の @Query shortestPath 戻り値の型
次のクエリの戻り値の種類とその使用方法を教えてください。Path
、 、およびその他のようないくつかのことを試しIterable<Path>
ましたが、常に何らかの例外が発生します。のようですLinkedHashMap
が、他に便利なオブジェクト タイプはありますか?
依存関係がありませんか? これは私が使用しているものだけです:
neo4j - 大文字と小文字を区別しない暗号クエリの実行
neo4j で大文字と小文字を区別しない暗号クエリを実行することは可能ですか?
それを試してみてください:http://console.neo4j.org/
これに入力すると:
1 行を返します。しかし、これを入力すると:
何も返しません。名前が「Neo」として保存されるためです。大文字と小文字を区別しないクエリを実行する簡単な方法はありますか?
nosql - 完全に一致するノードを見つけるためのNeo4jCypherクエリ(ORではなくAND)
ノードのセットと完全に一致するノードを取得するクエリを作成しようとしています。この場合、タグが付いたエクスペリエンスを提供します。たとえば、「食べ物」と「ナイトライフ」と「文化」のタグが付いたエクスペリエンスを紹介します。
私のクエリは「機能しています」が、ANDの代わりにORを使用して結果をもたらします。どうすれば修正できますか?
正しいアプローチを使用しているかどうかはわかりません
SpringData2.0.1とneo4j1.6.3を使用しています。
rest - Neo4j: Cypher over REST 操作の概要を取得
REST API を使用して、ノードを返さずに完了した操作の概要を取得する方法はありますか?
操作を行った後にWeb管理コンソールを使用すると、次のような要約が表示されます
- 1 つのノードが挿入されました
- 2 つの関係が挿入されました
- 1 つのノードが削除されました。
ここの例では、要約情報がクライアントに送り返される例がないことに気付きました。挿入が行われたことを知るには、挿入されたノードを返す必要があります。
ネットワーク経由で頻繁にリクエストを行う場合は、データ レスポンスのサイズを最小限に抑えることをお勧めします。簡単な要約がこれに役立ちます。REST エンドポイントから取得することは可能ですか?
neo4j - neo4jと暗号またはグレムリンを使用して単純な協調フィルターを作成する方法
そこで、単純な協調フィルターに基づいた投稿をユーザーに推奨したいと思います。フィルタは次のように機能するはずです
- 私が好きな投稿で私に最も似ている上位n人のユーザーを見つけます(私のメンターグループ)
- このメンターグループの中で、私がまだ気に入っていない最も人気のある投稿を見つけてください
だから私は最初の部分を持っています、これは私に私のメンターを与えるでしょう
そして第2部では、これらのメンターの中から、私がまだ気に入っていない最も気に入った投稿を見つけます。
この2番目の部分を暗号で、またはより効率的な場合はおそらくグレムリンでどのように実行しますか。あるクエリ結果を別のクエリ結果にフィードする必要がある2つの部分からなるクエリでしょうか、それともすべてを1つのクエリにまとめることができますか?
neo4j - サイファーシェルコンソールを使用してneo4jのノード/関係を削除すると、「TransactionFailureException:トランザクションをコミットできません」エラーが発生します
シェルコンソールでこのコマンドを実行すると、このエラーが発生しました(推奨事項にバイアスがかかるため、グラフからスーパーノードを削除したいだけです):
ノードを直接削除するときにも同じエラーが表示されます(後で、最初にそれらの関係を削除する必要があることに気付きました)。同じクエリを実行するが、DELETEコマンドをRETURNに置き換えると、すべてが機能します。
neo4jのバージョンは1.9です。グラフ全体にバイアスがかからないように、スーパーノードを適切かつ簡単に削除/削除するにはどうすればよいですか?それらの関係を削除することも十分です。
python - 球根neo4jの埋め込み、およびサイファーでの削除
私はbulbsを介してneo4jのRESTAPIを使用し、次のようにサイファーを介してノードと関連するすべてのエッジを削除しようとしました。
(db
neo4j-database-Handlerはどこにありますか)。
...そしてそれはそのようにうまくいかないようです。長いエラーレポートが続きます:
私は何か間違ったことをしていますか?球根を介した暗号クエリを介してノードを削除することはできませんか?