問題タブ [gremlin]
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.
graph - 2つの頂点間のパスを検索する際の方向DBの取得時間
グラフデータベースを使用する必要があるユースケースがあります。
10000ノードと1000000エッジ(約)。
今、私はこのようにクエリする必要があります。任意の2つの頂点について、それらの間のすべての可能なパスを見つけます。
origntDbにかかる時間はどれくらいですか?取得時間を最小限に抑えたいのですが、これはorientDBでサポートされていますか?
2つの頂点の距離は約20になりますが、各頂点には約10の出力エッジがある場合があります。
gremlin - propertyname = valueの頂点のみを考慮して、2つの頂点間のすべてのパスを検索します
次のようなトラバーサルのユースケースがあります。orientDbはそれをサポートしていますか?
1)ノード1からノード2までのすべてのパスを検索します。プロパティxyz = "val1"を持つノードのみをトラバースします。2)最短パスを検索します。プロパティxyz = "val1"を持つノードのみをトラバースします。3)最長パスを検索します。これらのノードのみをトラバースします。プロパティxyz="val1"があります
注:私がキャップで述べた状態に注意してください
sorting - Neo4j-Gremlin-.groupCount.cap()によって返された結果を並べ替える方法
問題が1つあります。このクエリ:
HashMapを返す
それを注文する方法は?出力はv[619]= 7、v [10] = 4、、v [138] = 3、v [140] = 3、..である必要があります。
ありがとう
graph - orientDB のネストされたレコードと同じクエリ
頂点とエッジを含むグラフを保存する必要があります。私のユースケースは次のとおりです。
各頂点には次のプロパティがあります。
name 、 age などのいくつかの基本的なプロパティがあり、いくつかのレコードの種類のプロパティがあります
注:これは 1 つの頂点のみのプロパティです。これらはネストされたプロパティの一種です。ネストされたプロパティは、リレーショナル DB の一種のレコードです。
1) これらのネストされたプロパティ /records に対して SQL のようなクエリを実行したいのですが、これは可能ですか? たとえば、Prop2="1" の場合にのみ Prop5 の各頂点の値を検索します。これらは一種のリレーショナル DB クエリです。
例 2: Prop5 値 = 7 のネストされたレコードの数をカウントする
これは OrinetDB でサポートされていますか?サポートされている場合、その方法は?
performance - OrientDB - ビッグデータでのパフォーマンス
プロジェクトで OrientDB を使用していますが、本当に気になるのはパフォーマンスです。私はそれをテストするために、500 000 人と 500 000 の興味、および人と人のランダムな関係 (2 496 540 の関係)、および人と興味 (3 322 060 の関係) を含むビッグデータを作成しました。
私がする必要があるのは、頂点とエッジをトラバースすることです。グレムリンやってみた 友達が 100 人未満の場合、相互の友達を得るのに約 10 ~ 20 秒かかりますが、友達が数千人いる場合、これは機能せず、時間がかかりすぎます。
友達が 100 人未満の場合、友達を推薦するのに約 40 ~ 50 秒かかりますが、何千人もの友達がいる場合も同じです。
これらは、OrientDB がそのようなトラバースを高速に実行するための方法ですか?
OrientDB SQL トラバースは深さ優先トラバースのみをサポートし、2 人の人物の間で共通の友人を見つけることは不可能に思われ、友人の推奨は複雑です。私は何か見落としてますか?
ご回答有難うございます!
graph - Tinkerpop-グラフでノードを見つけるにはどうすればよいですか?
全体をトラバースしないと、グラフ内の特定のノードを見つけることができないようです。足りないものはありますか?
私はティンカーポップの青写真を使用しています。
Orientdbは、「#8:1」などのノードにある種の非セマンティックIDを提供します-IDを知らなくてもこれを見つけるにはどうすればよいですか?頂点には、それを識別する'user=jason'のようなプロパティがあります。ユーザーと場所のペアを保存するためにredisを使用するか、スーパーノードを使用することを考えています(感謝しません)
neo4j - グレムリンsideEffect変数の割り当てが機能しない
次の構成を使用して、頂点ごとのサブグラフマッチングを実行しようとしています。
マップの比較は驚くほどうまく機能しますが、副作用の部分はp
-vertexを適切に変更していないようです。これらのGremlinステップを実行した後に印刷するとp
、パイプラインのように見えます。しかし、より明示的p = g.v(p.out.id)
で、p = g.v(p.outE.inV.id)
数値的なi++
副作用でさえ、値をまったく変更しないようです。
私はこれをNeo4jグレムリンシェルとGroovyの両方で試しました。
lucene - neo4jからすべての最新ノードを返す方法は?
最新のノードをneo4jに問い合わせることは可能ですか? この場合、インデックス付きプロパティ「timestamp」は、すべてのノードの時間をミリ秒単位で記録します。
私が見つけたすべてのサイファーの例は、グラフタイプのクエリに関するものでした-「ノード n から開始し、関係に従います。1 つのフィールドでソートされた結果セットを返すための一般的な最良の方法は何ですか?これは node4j などのグラフデータベースでも可能ですか?
graph - Tinkerpop - キーと値のプロパティ インデックスに Redis を使用するか、KeyIndexableGraph を使用するか
非常に簡単な質問ですが、必要な情報が見つかりません。tinkerpop の KeyIndexableGraph を使用するか、ノード/エッジを取得するために redis のような最もパフォーマンスの高い特殊なストアで独自の非常にパフォーマンスの高いキー/インデックス ソリューションを展開することをお勧めしますか?あなたが必要とする場所?
ここでは、キー/値のルックアップのみに焦点を当て、アドレスをグラフに渡すテクノロジとして Redis の方が優れているように思われますが、コストを正当化したいと思います。
tinkerpop からの約束は、インデックス ルックアップはかなり良いプロパティでインデックス付けされた記事の log(n) であるべきだということです。redis でうまくやることは可能ですか、それとも n* 定数はグラフ ルックアップよりもはるかに優れていますか?
編集:これは実際には知的な質問ではないことに後で気付きました.Redisはインメモリストアであるため、メモリに制限されています。グラフ ノードの場所を検索するには、グラフ内のノードを再度検索する必要があります。