問題タブ [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.

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

neo4j - Cypherを使用して異なるタイプの関係をコピーする

既存の関係を新しいノードにコピーしたい。すべてのノードがすでに存在しているので、すべての着信関係を2番目のノードにコピーしたいと思います。与えられたノードDと次のようなグラフ

単一のCypherクエリで以下を作成したいと思います。

他のすべてのノードはすでに存在するため、2行目の関係のみを作成する必要があります。私は次のCypherクエリ(無効なクエリ(Don't know how to extract parameters from this type: org.neo4j.kernel.impl.core.RelationshipProxy))を試しました:

0 投票する
3 に答える
2855 参照

neo4j - 関係プロパティの合計によるNeo4j暗号クエリ結果の制限

リレーションシップ プロパティの合計によってサイファー クエリを制限する方法はありますか?

開始ノードから 100 以内の距離にあるノードを返すサイファー クエリを作成しようとしています。すべての関係には距離が設定されており、パス内のすべての距離の合計が開始ノードからの合計距離になります。

WHERE 句が集計関数を処理できる場合、私が探しているのは次のようになります

where句のパスにある関係の距離を合計する方法はありますか?

0 投票する
4 に答える
9592 参照

neo4j - neo4j: ランダムなノードを選択する方法/方法はありますか?

特定の数のランダム ノードを取得したいと思います。グラフは 3,000,000 個のノードで構成されており、そのうちのいくつかはソースであり、いくつかはターゲットであり、いくつかは両方です。

目的はランダム ソースを取得することです。ランダムを選択する方法がわからないため、プログラムはノード ID を表す 1 から 3 000 000 までの k 個の乱数を生成し、ソースではないランダムに選択されたすべてのノードを破棄します。この手順は手間がかかるので、暗号クエリでランダムソースを直接選択することはできないのだろうか。

すべてのソースを選択する場合、クエリは次のようになります。

限られた数のランダムノードを暗号で直接選択する方法を知っている人はいますか?それが不可能な場合は、回避策を提案しますか?

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

nosql - Neo4j の Cypher クエリ言語はオープンソースですか?

Neo4j の言語 Cypher のステータスは? とても気に入っていますが、Neo4j ロックインは避けたいと思っています。Grmelin にあるような他の Cypher インターフェイスはありますか?

よろしく

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

neo4j - 条件が真の場合、neo4j/cypher クエリを停止する

各ノードが Java クラスを表し、それぞれが名前空間と呼ばれるプロパティを持つグラフがあります。開始ノードと最終ノードが名前空間を共有しているが、すべての中間ノードがその名前空間を共有していないパターンに一致させたい。3つのクラス(クラスA - >クラスB - >クラスC)がある場合、私は持っています:

これはうまくいくようです。拡張しようとしたときに、次のことを試しました。

問題は、中間ノードが inside1 と同じ名前空間を共有するパスが必要ないことです。だから私の質問は、「名前空間がinside1.namespaceと等しいノードにヒットしたときに停止する」と言うことができる方法はありますか?

ありがとう。

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

neo4j - Neo4j: 2 つのノード間の関係を見つけるための REST API Cypher クエリ

私は Neo4j を初めて使用し、REST API を使用してノードと関係を作成しています。NA と NB の 2 つのノードがあり、それらは関係 RC で接続されています。「NA - RC - NB」。ノードと関係を作成する前に、ノードとノード間の関係が存在しないかどうかを確認します。ノードが存在するかどうかを確認する方法を理解し、2 つのノード間に関係が存在するかどうかを確認する方法に苦労しています。私はこの Cypher クエリを思いつきました。

ノードにはプロパティ「名前」があります。このクエリを実行すると、空の 'data: []' が表示されます。

助言がありますか?Neo4j のドキュメントといくつかのチュートリアルを調べてみましたが、これを理解することはできませんでした。

ティア

Javaコードは次のとおりです。

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

neo4j - パスコストによるサイファーの順序

私はcypherとneo4jに非常に慣れていません。合計パスコストに基づいて、ポイントAとBの間のすべてのパスを取得して注文したいと考えています。この場合のコストは、整数の関係プロパティです。パスコストは、リレーションシッププロパティの合計になります。

サイファーのORDERBYステートメントの例をいくつか見てきましたが、例では、順序付けされているオブジェクトに既に割り当てられているプロパティで順序付けする必要があるようです。この場合、パスに静的な「コスト」プロパティ。

(これは、パスの長さ/数とは異なります)

このようなことは、サイファーにとってそれほど複雑ではないと確信しています。

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

neo4j - Neo4j Web Adminリレーションシッププロパティを表示する方法は?

Neo4jグラフを生成し、「データブラウザ」の「スタイル」ルールを使用してグラフの視覚化を作成しました。ノードのプロパティを表示することができました。スタイルルールはノードにのみ適用できるようです。ただし、リレーションシップのプロパティを表示(データブラウザで視覚化)したいと思います。これは可能ですか?もしそうなら、どうすればいいですか?

Neo4jのドキュメントを読み、Neo4jフォーラムでも検索しましたが、うまくいきませんでした。

助けていただければ幸いです。

TIA

例えば:

人口統計の場合、作成されたのは関係のプロパティです'は'です。

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

neo4j - 予期しないneo4j暗号クエリの結果

特定の人を知っている隣人との会話時間の相対的な割合を調べたいと思います。

たとえば、ノードAを最初に観察する場合、次のクエリで実行される、すべてのネイバーとの会話に彼が費やした時間を知る必要があります。

次に、彼の隣人のどれが特定の人を知っているか(たとえばc)を確認し、bがcを知っているaとbの間の会話の期間のみを合計する必要があります。

ここで論理的ではないように思われるのは、2番目の合計が最初の合計よりも大きいのに対し、2番目の合計は最初の合計の一部であると想定されていることです。そのような結果を得るための問題が何であるかを誰かが知っていますか?エラーは15000人中7人のユーザーに現れました。

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

neo4j - Neo4j 集計/接続ノード数

ノード A がノード B から始まる Cypher クエリの一部であるノード A に接続されているノードの数を数えようとしていますが、予期しない結果が得られます。設定例を次に示します。本と所有者を見ているとしましょう。本は他の本を引用していますが、もちろん所有者は本を所有しています。

では、Book B1 を見ていて、それを引用している各本を見つけて、引用している本を所有している各人が所有している本を数えたいとします。したがって、B1 から始めると、所有者 O2 と O3 を見つける必要があります。それぞれが B1 を引用する本を所有しているためです。彼らが持っている本を数えるなら、O2 なら 1 冊、O3 なら 2 冊だ。

まず、所有者を一覧表示するだけのクエリは問題なく機能します。

これにより、期待どおりの名前が返されます。しかし、このクエリ:

所有者のリストである c にたどり着き、所有している本を d として OWNS の関係をたどってカウントする必要があるようです。しかし、代わりに私は得る:

他の OWNS リンク (b で表されるもの) を通じて既に見つかったブック/ノードを除外しているように感じます。単一のクエリでこれを行う方法はありますか、または所有者を c として収集し、それぞれに対して再度クエリを実行するのが最善ですか? これは可能であるように感じますが、私はまだそれを理解していません。どんなアイデアでも素晴らしいでしょう-事前に感謝します。